UIScrollView 无法正常工作(它返回顶部并且不显示任何滚动条
Posted
技术标签:
【中文标题】UIScrollView 无法正常工作(它返回顶部并且不显示任何滚动条【英文标题】:UIScrollView doesn't work properly (it backs to top and not shows any scrollers 【发布时间】:2013-02-14 13:33:41 【问题描述】:我正在做一个 iphone 应用程序,其中有几个 UILabel、UITextfields 和 UIButtons。我需要在高度为 480 像素的屏幕上显示它们,所以我将它们引入 UIView。后来,我创建了一个 UIScroller 来展示它们。
它在interface builder中的结构是:
视图控制器 ---> 查看(不可调整大小,可能是强制性的) ---> 滚动视图 --->查看 ---> 标签 ---> 文本字段我在“Identity Inspector”(在 Interface Builder 上)中的“User Defined Runtine Attributes”下方设置了 UIScrollView contentsize 和 UIView 框架,并在应用程序运行时在控制台日志中显示它们。似乎没问题,但是当我向下滚动 UIScrollView 并且它的滚动没有显示时,它总是回到顶部。
我在这个论坛上搜索了很多,但没有找到任何解决方案。
有人可以帮我吗?谢谢!
编辑:我在我的代码中添加了这个来显示它们定义的值(uploadView 是 scrollView 中的视图)
- (void) viewDidLoad
//....
[super viewDidLoad];
CGSize size = scrollView.contentSize;
CGRect viewrect = uploadView.frame;
CGSize viewsize = viewrect.size;
NSLog (@"size of scrollView: height= %f and width= %f", size.height, size.width);
NSLog (@"size of uploadView: height= %f and width= %f", viewsize.height, viewsize.width);
输出是:
size of scrollview: height= 600.000000 and width= 320.0000000
size of uploadview: height= 600.000000 and width= 320.0000000
【问题讨论】:
发布一些代码。问题似乎没有问题。 fibnochi 是对的,一些代码会有所帮助。但听起来你没有设置 UIScrollView 的内容大小。像 scrollview.contentSize = CGSize(width,height) 之类的东西(我是凭记忆写的,可能有 sintax 问题。以旧方式尝试,在高度上放一个大数字。 【参考方案1】:没有任何代码很难准确判断您的问题是什么,但您可以尝试在代码中设置内容大小:
scrollView.contentSize = view.size
view 是滚动视图中的 UIView
•---> Scrollview
•---> View
【讨论】:
【参考方案2】:嗯,我一直在寻找任何答案,我找到了解决方案。
I can't get my scrollview to scroll correctly with objects such as 'round rect buttons' or labels
总结一下,使用viewDidAppear方法
- (void)viewDidAppear:(BOOL)animated
[super viewDidAppear:animated];
[scrollview setScrollEnabled:YES];
[scrollview setContentSize:CGSizeMake(320, 600)];
【讨论】:
以上是关于UIScrollView 无法正常工作(它返回顶部并且不显示任何滚动条的主要内容,如果未能解决你的问题,请参考以下文章
在父视图中添加 ImageView 后 UIScrollView 停止滚动?