9

我想显示一个有很多行的文本。我在滚动视图中添加了一个多行标签,但它没有显示任何内容。看起来这不是使用滚动视图的正确方法。如何使用滚动视图使用户可以向下拖动以查看更多文本?

4

4 回答 4

21

Apple 的UIScollView 文档非常好,您应该从那里开始并了解该类。

将 Scrollview 视为屏幕在其上滑动的大视图表面*。您可以将子视图添加到滚动视图,然后滚动就像将屏幕定位在滚动视图上 - 屏幕就像一个窗口,您可以看到下面滚动视图的部分内容。

为此,滚动视图比普通 UIView 具有一些额外的属性 - 但它在一个重要方面就像 UIView:它本身不直接呈现任何内容。您需要添加一个子视图来绘制您的文本。滚动视图的设置和显示方式与 UIView 完全相同 - 即您设置框架将其添加到另一个视图并显示您的文本,您需要将子视图添加到可以实际呈现文本的 UIScrollView。

为了设置您请求的基本 UIScrollView,您应该像普通的全屏视图一样创建它 - 将框架设置为与窗口相同的大小,并将滚动视图作为子视图添加到窗口中。然后制作一个大的 UITextView 来保存您的文本。UIText 视图可以随心所欲——特别是它可以比屏幕大。将 UIScrollView 的 contentSize 属性设置为与 UITextView 的 frame 相同,然后将 UIText 视图添加为 UIScrollView 的子视图。

完成此操作后,您可以使用 contentOffset 属性自动移动内容,控制缩放并设置委托以观察滚动事件。

* 更准确地说,框架在其上滑动,但我假设您正在制作全屏 UIScrollView。如果你想要一个更小的视图,我相信你可以概括它。

于 2009-03-06T06:55:28.927 回答
10

您可以只使用 UITextView。它是 UIScrollView 的子项,如果将它的 text 属性设置为不适合其框架的文本量,则视图将变为可滚动的。

于 2009-03-06T06:38:20.373 回答
1

我以这种方式使用 UIScrollView 作为我的一个应用程序中的说明窗格。它奏效了,但我对结果不满意。然后我切换到使用 UIWebView 并且对结果更满意。它自动处理滚动视图的大小,我获得了 HTML 的所有格式化功能,并且我可以拥有指向其他信息(或外部站点)的链接,只需添加另一个 HTML 文件和一些委托代码。这是我使用的代码(我将 HTML 文件作为资源添加到我的应用程序中):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.instructionsView loadHTMLString:htmlString baseURL:nil];
于 2010-03-16T14:28:35.367 回答
1

你可以参考这个网站http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

你按照一步一步在iphone中制作滚动视图......祝你好运:)

于 2010-08-19T02:18:03.513 回答