我第一次遇到这种问题。
我的ViewController上有UITableView
,我在IB中选择了Grouped
样式。
因此,当我在iPad上运行我的应用程序时,它是分组的样式,一切正常,但有时UITableView's
样式变为Plain
。我不会在代码或其他任何地方改变它,它只是自己改变它。
·H
@property (nonatomic, retain) IBOutlet UITableView *myTableView;
的.m
myTableView.backgroundColor = [UIColor clearColor];
myTableView.opaque = NO;
myTableView.backgroundView = nil;
我尝试删除XIB
并创建一个新的,但它仍然是同一个问题。
有什么想法吗?
UPD :
好的,我不知道怎么回事,但我的同名项目中有两个相同的xib。在一个xib我有普通风格,在第二个我有分组风格;所以它解释了为什么有时我有Grouped和somteimes Plain Style。我刚刚删除了其中一个并修复了问题。
答案 0 :(得分:1)
UITableView样式不会自动更改,除非您在xib或代码中更改样式。请仔细检查您的代码天气你是否正在改变风格,并确保你正确连接数据源和代表。
听到是另一种你可以在代码中创建一个而不是在xib中的方法。
在代码中创建tableview,代码给你一些想法。
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
UITableView *aTableVIew;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//Do any additional setup after loading the view, typically from a nib.
aTableVIew = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStyleGrouped];
aTableVIew.dataSource = self;
aTableVIew.delegate = self;
[self.view addSubview:aTableVIew];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
//Dispose of any resources that can be recreated.
}
-(void)dealloc
{
[aTableVIew release];
[super dealloc];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 2;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [aTableVIew dequeueReusableCellWithIdentifier:@"cell"];
if(cell == nil)
{
cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]autorelease];
}
if(indexPath.section == 0)
{
cell.textLabel.text = @"Hello";
}
else if (indexPath.section == 1)
{
cell.textLabel.text = @"World";
}
else
{
cell.textLabel.text = @"Happy coding";
}
return cell;
}
@end