将大字符串分配给UILabel.并且,将此标签添加到滚动视图中.
当UILabel高度大于8192pt(即2 ^ 13)时,UILabel消失.
这是iOS错误吗?
我应该使用其他实现来呈现这么多的字符串吗?
我应该使用带有单元格的表视图吗?
UPDATE
将显示UILabel的代码:
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor clearColor];
label.text = rumor.displayText;
label.frame = CGRectMake(0, 0, self.view.frame.size.width, 8192);
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)
UILabel确实消失的代码
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor clearColor];
label.text = rumor.displayText;
label.frame = CGRectMake(0, 0, self.view.frame.size.width, 8193);
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)
首先 - 它不一定是一个bug.这只是未定义的行为.请注意,对于每个组件,当组件停止正常工作时,将存在一些大小上限.8192点似乎是一个下限但仍然是纵向模式下iPad屏幕的8倍左右.
你不应该把观点看得那么大.请注意,UIView
s通常会渲染到内存中并进行缓冲,以便更快地重绘.高度为8192,缓冲区必须非常大.
将文本拆分成几个UILabel
(例如通过段落)肯定会有所改进.
归档时间: |
|
查看次数: |
1463 次 |
最近记录: |