我想显示一个包含很多行的文本。我在滚动视图中添加了多行标签,但它没有显示任何内容。看起来这不是使用滚动视图的正确方法。如何使用滚动视图以便用户可以向下拖动以查看更多文本?
答案 0 :(得分:21)
Apple的UIScollView documentation非常好,你应该从那里开始理解课程。
将Scrollview视为屏幕滑动*的大视图表面。您可以将子视图添加到滚动视图,然后滚动就像将屏幕放在滚动视图上一样 - 屏幕就像一个窗口,您可以看到下面滚动视图的部分内容。
要做到这一点,scrollview在普通的UIView上有一些额外的属性 - 但它就像一个UIView在一个重要的方面:它不会直接呈现任何内容。您需要添加子视图来绘制文本。滚动视图的设置和显示方式与UIView完全相同 - 即您设置框架将其添加到另一个视图并显示您需要将子视图添加到UIScrollView的文本,该视图可以实际渲染文本。
为了设置您请求的基本UIScrollView,您应该像普通的全屏视图一样创建它 - 将框架设置为与窗口相同的大小,并将scrollview作为子视图添加到窗口中。然后制作一个大的UITextView来保存你的文字。 UIText视图可以随意大小 - 特别是它可以比屏幕大。将UIScrollView的contentSize属性设置为与UITextView的框架相同,然后将UIText视图添加为UIScrollView的子视图。
完成此操作后,您可以使用contentOffset属性自动移动内容,控制缩放并设置委托以观察滚动事件。
*更准确地说,框架滑动,但我假设你正在制作全屏UIScrollView。如果你想要一个较小的视图,我相信你可以概括它。
答案 1 :(得分:10)
您可以使用UITextView。它是UIScrollView的子代,如果将其text属性设置为不适合其框架的文本量,则视图将变为可滚动。
答案 2 :(得分: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];
答案 3 :(得分:1)
你可以参考这个网站http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/
按照步骤在iphone中制作滚动视图...祝你好运:)