iOS8上的tableview行高错误

Posted

技术标签:

【中文标题】iOS8上的tableview行高错误【英文标题】:Wrong tableview row height on iOS8 【发布时间】:2016-05-30 12:21:54 【问题描述】:

我有带有 UITableViewAutomaticDimension rowHeight 的 tableview。其中一个单元格包含具有固定高度的 uiview。

在该视图内部放置了两个按钮,在该视图的 LayoutSubviews 方法中我使用代码

self.button1.layer.cornerRadius = self.button1.frame.size.height / 2

圆那个按钮。

ios9 中,按钮正确呈现:

但是,在 iOS8 上,按钮无法正确呈现:

有什么问题?我必须如何设置约束才能在 iOS8 中正确呈现按钮?

这里是cell的.xib文件:

Cell xib file

【问题讨论】:

cornerRadius 设置代码放在哪里?我建议你把它放在layoutSubviews 你应该在视图中设置圆角半径会出现方法和调用layoutIfNeeded之前 按钮的高度是多少? 尝试使用任何整数值代替“self.button1.frame.size.height / 2” 尝试设置 ClipToBounds = true。可以解决问题。 【参考方案1】:

试试这个

将此行添加到您的自定义单元格类中

-(void)layoutSubviews
    
        [super layoutSubviews];

        self. button1.layer.cornerRadius = self. button1.frame.size. height / 2;
        self. button1.clipsToBounds = YES;
        [self.contentView layoutIfNeeded];
    

【讨论】:

【参考方案2】:

它对我有用。请尝试一下。

self.button1.layer.cornerRadius = self.button1.frame.size.height / 2
self.button1.clipsToBounds = true

希望对你有帮助。谢谢

【讨论】:

以上是关于iOS8上的tableview行高错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发tips-UITableViewUICollectionView行高/尺寸自适应

iOS开发tips-UITableViewUICollectionView行高/尺寸自适应

编辑 tableview Swift 的行高

tableView 未设置自动行高

如何正确更改 TableView 的行高?

在 tableview 单元格中显示图像