在UIScrollView中显示大块文本(从应用程序中的.txt文件中获取)的最佳方法是什么,以便用户可以滚动它?文本的长度是可变的。
答案 0 :(得分:4)
在Interface Builder上打开Attributes Inspector(如果尚未打开 - command-1)并取消选中“Editable”。
另请注意下面有一个滚动视图部分。确保选中“滚动”。
希望这对某人有帮助(帖子已经有一年了,所以我想现在发布它的人不需要这个信息)。
答案 1 :(得分:0)
我为我工作的一种方法是创建UILabel,设置文本,然后按大小设置scrollview的内容大小。 Here is an example
引用:
// alocate and initialize scroll
UIScrollView *myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 460.0f)];
// alocate and initialize label
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 460.0f)];
// add long text to label
myLabel.text = @"Lorem ipsum... long text here";
// set line break mode to word wrap
myLabel.lineBreakMode = UILineBreakModeWordWrap;
// set number of lines to zero
myLabel.numberOfLines = 0;
// resize label
[myLabel sizeToFit];
// set scroll view size
myScroll.contentSize = CGSizeMake(myScroll.contentSize.width, myLabel.frame.size.height);
// add myLabel
[myScroll addSubview:myLabel];
// add scroll view to main view
[self.view addSubview:myScroll];
答案 2 :(得分:0)
我来到这里寻找答案,发现所有答案都很糟糕 - 或者说错了。
执行此操作的正确方法是单独使用UITextView。由于它是UIScrollView的后代,因此它具有内置的滚动功能以及许多用于调整格式的功能,例如插图等。
如果您只想显示文字,则需要明确禁用编辑。你可以通过设置" editable"财产到假。 如果要禁用文本选择机制,请设置" selectable"财产到假。
在较新版本的iOS中,UITextView添加了对NSTextContainer的支持,使您可以更好地控制格式。
答案 3 :(得分:-1)
将UITextView用于UIScrollView。我不推荐这个,因为UITextView是UIScrollView的子类。 Apple也推荐相同的产品。
在这种情况下使用UILabel作为子视图,
答案 4 :(得分:-2)
将UITextView放入UIScrollView。