将大块文本添加到UIScrollView的最佳方法是什么?

时间:2010-03-21 09:16:42

标签: iphone objective-c xcode uiscrollview

在UIScrollView中显示大块文本(从应用程序中的.txt文件中获取)的最佳方法是什么,以便用户可以滚动它?文本的长度是可变的。

5 个答案:

答案 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。