ios6&ios7 4寸屏和3.5寸屏如何显示UIButton和UITableview
Posted
技术标签:
【中文标题】ios6&ios7 4寸屏和3.5寸屏如何显示UIButton和UITableview【英文标题】:how to display the UIButton and UITableview in ios6&ios7 for 4-inches screen and 3.5 inches screen 【发布时间】:2013-12-02 09:15:07 【问题描述】:我正在开发一个应用程序。在应用程序中,我为 ios7&ios6 编写了 3.5 英寸屏幕和 4 英寸屏幕的代码。我拿了一个视图控制器;在这个视图控制器中,我想显示两个图像,一个用于顶部,另一个用于底部。还显示登录和注销按钮以及登录 Tableview。在ios7&ios6 3.5寸屏和4寸屏上,Top image和Bottom image这两张图的显示都没有问题。这两个图像显示正确。但按钮和 UITableview 没有显示。我不明白显示 UIButton 和 UITableview 的问题出在哪里。请给我一些想法,任何人。我是编程新手。提前致谢。
以下是我的代码。
Viewcontroller.m(用于 ios7 和 ios6 的 3.5 英寸和 4 英寸屏幕)。
if ([[UIScreen mainScreen] bounds].size.height == 568)
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 65, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(8, 415, 300, 153 )];
// Button Login for ios7 4-inches screen.
btnLogin.frame = CGRectMake(20, 230, 127, 32);
// Create Login for UITableview
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(0, 80, 320, 123) style:UITableViewStyleGrouped];
else
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 45, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(8, 395, 300, 153 )];
// Button Login for ios6 4-inches screen.
btnLogin.frame = CGRectMake(20, 230, 127, 32);
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(0, 80, 320, 123) style:UITableViewStyleGrouped];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[self.view addSubview:imgLogo];
imgBuilding.image=[UIImage imageNamed:@"image-02.png"];
imgBuilding.alpha=0.4;
[self.view addSubview:imgBuilding];
btnLogin = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnLogin addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchDown];
[btnLogin setBackgroundImage:[UIImage imageNamed:@"Sign-in-button.png"] forState:UIControlStateNormal];
[self.view addSubview:btnLogin];
// create Login tableview properties
tableVw.dataSource = self;
tableVw.delegate = self;
tableVw.backgroundColor=[UIColor clearColor];
tableVw.scrollEnabled=NO;
tableVw.scrollsToTop=NO;
[self.view addSubview:tableVw];
/************ *************** *************** *************** ***/ /*适用于 ios6 和 ios7 的 3.5 英寸屏幕*******************************/
/************ *************** *************** *************** ***/
else
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 70, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 345, 320,140 )];
btnLogin.frame = CGRectMake(20, 200, 127, 32);
// create Login Tableview
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(10, 85, 300, 123) style:UITableViewStyleGrouped];
else
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 50, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 325, 320,140 )];
btnLogin.frame = CGRectMake(20, 200, 127, 32);
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(10, 85, 300, 123) style:UITableViewStyleGrouped];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[self.view addSubview:imgLogo];
imgBuilding.image=[UIImage imageNamed:@"image-02.png"];
imgBuilding.alpha=0.4;
[self.view addSubview:imgBuilding];
// Create Button Properties
btnLogin = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnLogin addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchDown];
[btnLogin setBackgroundImage:[UIImage imageNamed:@"Sign-in-button.png"] forState:UIControlStateNormal];
[self.view addSubview:btnLogin];
// Create Login Tableview properties
tableVw.dataSource = self;
tableVw.delegate = self;
tableVw.backgroundColor=[UIColor clearColor];
tableVw.scrollEnabled=NO;
tableVw.scrollsToTop=NO;
[self.view addSubview:tableVw];
【问题讨论】:
添加语句如 btnLogin = [UIButton alloc]init];高于如果。并将类型从roundrect更改为自定义 【参考方案1】:试试这个代码。我对您的代码进行了更改。
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
UIImageView *imgLogo;
UIImageView *imgBuilding;
UIButton *btnLogin = [UIButton buttonWithType:UIButtonTypeCustom];
UITableView *tableVw;
if ([[UIScreen mainScreen] bounds].size.height == 568)
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 65, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(8, 415, 300, 153 )];
btnLogin.frame = CGRectMake(20, 230, 127, 32);
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(0, 123, 320, 100) style:UITableViewStylePlain];
else
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 45, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(8, 395, 300, 153 )];
btnLogin.frame = CGRectMake(20, 210, 127, 32);
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(0, 103, 320, 100) style:UITableViewStylePlain];
imgLogo.image=[UIImage imageNamed:@"icon.png"];
[self.view addSubview:imgLogo];
imgBuilding.image=[UIImage imageNamed:@"icon.png"];
imgBuilding.alpha=0.4;
[self.view addSubview:imgBuilding];
[btnLogin addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchDown];
[btnLogin setBackgroundColor:[UIColor blackColor]];
[self.view addSubview:btnLogin];
tableVw.scrollEnabled=NO;
tableVw.scrollsToTop=NO;
tableVw.dataSource=self;
tableVw.delegate=self;
[self.view addSubview:tableVw];
else
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 70, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 345, 320,140 )];
btnLogin.frame = CGRectMake(20, 230, 127, 32);
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(10, 127, 300, 100) style:UITableViewStylePlain];
else
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 50, 162, 57)];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 325, 320,140 )];
btnLogin.frame = CGRectMake(20, 200, 127, 32);
tableVw=[[UITableView alloc] initWithFrame:CGRectMake(10, 85, 300, 123) style:UITableViewStylePlain];
imgLogo.image=[UIImage imageNamed:@"icon.png"];
[self.view addSubview:imgLogo];
imgBuilding.image=[UIImage imageNamed:@"icon.png"];
imgBuilding.alpha=0.4;
[self.view addSubview:imgBuilding];
[btnLogin addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchDown];
btnLogin.backgroundColor=[UIColor blackColor];
[self.view addSubview:btnLogin];
tableVw.dataSource = self;
tableVw.delegate = self;
tableVw.scrollEnabled=NO;
tableVw.scrollsToTop=NO;
[self.view addSubview:tableVw];
- (NSInteger)numberOfSectionsInTableView:(UITableView *)aTableView
return 1;
- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section
return 2;
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
return 40;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *CellIdentifier =[NSString stringWithFormat:@"%D",indexPath.row];
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.text=@"1";
return cell;
【讨论】:
和@user2930730 试试这个代码,如果它解决了你的问题,请接受它。所以其他用户可以使用它。 @感谢您的回复兄弟。非常感谢您 很高兴为您提供帮助以上是关于ios6&ios7 4寸屏和3.5寸屏如何显示UIButton和UITableview的主要内容,如果未能解决你的问题,请参考以下文章
围观迅为IMX6开发板QT下LVDS和HDMI如何双屏异显的