我开发了iPhone应用程序,其中我有UITableView。
根据文字, UITableViewCell textlabel
框架不正确
当我编写此代码时,UITableView
textlabel不合适。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CategCellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CategCellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CategCellIdentifier];
}
cell.textLabel.backgroundColor=[UIColor redColor];
cell.textLabel.font= [UIFont systemFontOfSize:12.0];
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.textLabel.text = [tempArr objectAtIndex:indexPath.row];
return cell;
}
当我将数组传递给UITableView时,它显示如下:
问题是什么?我在做错了,请帮助
答案 0 :(得分:1)
我不确定您的数组包含哪些文字。但是,我创造了一个我自己的例子。这是代码:
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CategCellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CategCellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CategCellIdentifier];
}
cell.textLabel.backgroundColor = [UIColor redColor];
cell.textLabel.font= [UIFont systemFontOfSize:20.0];
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.textLabel.text = @"Brand";
return cell;
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.textLabel.backgroundColor = [UIColor redColor];
}
@end
以下是输出:
我用过你的代码。我唯一的区别是,我在willDisplayCell:UITableViewDelegate的方法中将红色应用于文本标签。
根据Apple的UI指南,显示在tableview两侧的边距。
如果您需要我的代码,请告诉我。
答案 1 :(得分:0)
尝试设置尺寸以适合内容设置文本。
[cell.textLabel sizeToFit];
感谢。
答案 2 :(得分:0)
检查大小检查器中的表行高度属性,可能有些问题
[tableView setRowHeight:100.00];
或者您可以使用委托设置行高