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行高/尺寸自适应