UILabel
中的文字在显示后闪烁,首先在一行上显示省略号,然后占据它所适合的2行。
请注意,单元格高度不会改变。
问题在于:
标签“Друзъя,примитеучастиеинаполнитеКоробку!” (朋友,参与并填写方框!)在视图转换期间首先出现截断并且未对齐为“Друзъя,примитеучасти...”。
仅在iOS 8.1的iPhone 4上发生这种情况。使用Label进行的所有操作(文本分配除外)都在Storyboard中进行。
导致这种闪烁的原因是什么?
答案 0 :(得分:1)
假设您正在更改cellForRowAtIndexPath
中的测试,并进一步假设所有字符串都没有发生,只有一些具有一定长度,那么这是一个iOS错误。
请参阅this Stack Overflow UITableViewCell
post上的冗长讨论,以及可能的解决方法:
override func viewDidLoad() {
super.viewDidLoad()
tableView.setNeedsLayout()
tableView.layoutIfNeeded()
tableView.reloadData()
}
备注强>
1。我还注意到使用estimatedRowHeight
的小值,例如20
,它不像最小的单元格那么高,加上加倍reloadData()
也很有用。
2。更改单元格宽度时,您需要在reloadData()
之前调用额外的setNeedsLayout()
,例如切换tableView.editing
3。修补标签的强大替代方法是使用非可编辑,非可选,无资本化,noScrolling启用,不显示水平&垂直指标,没有反弹 UITextView
。
运行此错误,并尝试各种解决方法:
►在GitHub上找到此解决方案,并在Swift Recipes上找到其他详细信息。