返回正确大小的页脚时,部分页脚中的 UITableView 随机白线

Posted

技术标签:

【中文标题】返回正确大小的页脚时,部分页脚中的 UITableView 随机白线【英文标题】:UITableView Random White line in section footer when returning properly sized footer 【发布时间】:2010-08-08 18:10:00 【问题描述】:

我在从 NIB 创建的视图中有一个 UITableView。该表有一节包含 6 行和 1 个页脚。当我使用时:

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
    return 80;

返回从同一个 NIB 加载的页脚的高度。笔尖中的 UITableViewCell 的高度为 80。使用以下代码分配 UITableViewCell:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

如果 (indexPath.section == 0) if (indexPath.row == 0) 返回公司单元格;

如果 (indexPath.row == 1) 返回第一个名称单元; if (indexPath.row == 2) 返回姓氏细胞; if (indexPath.row == 3) 返回电子邮件单元; if (indexPath.row == 4) 返回密码单元格; if (indexPath.row == 5) 返回密码ConfirmCell;

return passwordConfirmCell;

我的桌子底部有一条白线,就像http://swnsn.com/white.png 的图片一样

如果我返回 79 或 81 的页脚高度,白线会消失,UITableViewCell 会缩放到窗口的宽度

有什么想法吗?

【问题讨论】:

抱歉上面的代码格式错误。当我输入时,*** 提供了正确的预览。 还有一张 81px 页脚的图片位于swnsn.com/nowhite.png 【参考方案1】:

我想通了!!我正在将 UITableViewCell 的实例传递给页脚。我已经更新我的代码只传递一个 UIView 并且问题已经解决了!

【讨论】:

【参考方案2】:

您是否尝试过更多这样的行操作?

- (CGFloat)tableView:(UITableView *) theTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

NSUInteger row = [indexPath row];
Question *question = [self.questions objectAtIndex:row];
NSString *theText = question.description;
UIFont *font = [UIFont fontWithName:@"Helvetica" size:14.0]; // You can choose a different font ofcourse.
int heightExtra = 0;
if (selectedIndexSegment == 0)
    heightExtra = 54;       
       
if (selectedIndexSegment == 1)         
    heightExtra = 24;
   

CGSize withinsize = CGSizeMake(theTableView.frame.size.width -60, 1000); //1000 is  just a large number. could be 500 as well
// You can choose a different Wrap Mode of your choice
CGSize sz = [theText sizeWithFont:font constrainedToSize:withinsize      lineBreakMode:UILineBreakModeWordWrap];
    return sz.height + heightExtra; // padding space of 20 should be fine!

还有呢

self.tableView.separatorColor = [UIColor clearColor];   

希望对你有帮助...

【讨论】:

self.tableView.separatorColor = [UIColor clearColor];也从表中删除所有分隔符。

以上是关于返回正确大小的页脚时,部分页脚中的 UITableView 随机白线的主要内容,如果未能解决你的问题,请参考以下文章

表格视图部分 Swift3 的页脚中的按钮

为啥将 JavaScript 放在页面的页脚中?

在我的页脚中显示当前年份的最轻量级方式是啥?

页脚中的 DataTables.net 表列总和

图标不会显示在台式计算机的页脚中

在 UITableView 页脚中动态设置和调整标签大小