解决: 我已经想到了这一点,对不起 - 我的愚蠢错误。基本上我的表没有分隔符,我的每个单元格底部都有自定义边框。这个边界没有在较高的细胞中正确地重新定位,使细胞看起来更高。很明显,一旦我选择了一个单元格,就会出现选择背景。
我有一个有趣的问题,希望是一个明显的解决方案或解释。
我有一个UITableView应该有10行相等的高度,但第一个单元格应该略高于其他单元格。
我有以下代码:
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView {
return 1;
}
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
}
-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {
return indexPath.row == 0 ? defaultCellHeight + 20 : defaultCellHeight;
}
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
switch(indexPath.row) {
case 0:
//text = First Row Text
break;
default:
//text = something else
break;
}
//return some sort of cell here
}
现在我看到的问题是第二排比其他排高,而不是第一排,正如我所料。任何想法为什么会这样?
我认为这与第一行被认为是标题或其他东西有关,但无法找到解决方法。随后的指数也比我预期的要低1个。
答案 0 :(得分:0)
尝试:
-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {
if ([indexPath row] == 0)
return defaultCellHeight + 20
else
return defaultCellHeight
}
测试出来并为我工作