UIScrollView - 无法查看所有 UIView

Posted

技术标签:

【中文标题】UIScrollView - 无法查看所有 UIView【英文标题】:UIScrollView - unable to see all the UIView's 【发布时间】:2013-03-20 20:00:42 【问题描述】:

当我滚动时,我无法滚动到 UIView 的末尾。

我的 UIScrollView 的高度为 450,而滚动视图中的 UIView 的高度为 800。 问题是滚动视图无法到达 UIView 的末尾... 仅向下滚动到一个点并且不显示 UIView 的更多内容。 (我用故事板)

这是我启动scrollView和UIView的代码:

[super viewDidLoad];

[scrollView setBackgroundColor:[UIColor blackColor]];

[scrollView setCanCancelContentTouches:NO];

scrollView.clipsToBounds = YES;

scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;


[scrollView addSubview:content];


//NSLog(@" %f  %f",content.frame.size.width,content.frame.size.height);


[scrollView setContentSize:CGSizeMake(content.frame.size.width, content.frame.size.height  )];

//NSLog(@" %f  %f",scrollView.frame.size.width,scrollView.frame.size.height );

[scrollView setScrollEnabled:YES];

感谢您对此问题的任何帮助。 (对不起,我的英语不好:()

谢谢。

【问题讨论】:

请好好解释问题并粘贴更多代码.. 您的content 视图的来源是什么? (content.frame.origin.x / y)。也许他们不是 0,0 在这种情况下你必须在你的 [scrollView setContentSize] content.frame.originx/y 是 0 - 0 。正常 content.frame.size.w/h = 0 和 scrollView.frame.size.w/h = 0 吗? 【参考方案1】:

如果您在 ios 6 项目中执行此操作,并且为情节提要启用了约束,并且如果(看起来)您发布的代码来自 viewDidLoad 方法,那么您的出口对象框架的大小将为零。使用约束,帧大小尚未确定并在 viewDidLoad 运行的执行点设置。

如果您在页面上创建了一个按钮,并将代码放入该按钮的单击处理程序中,事情是否开始工作?如果是这样,那是因为在完全加载过程完成之前您无法单击该按钮 - 这意味着代码在完全加载过程完成后工作,但在您运行它的中间过程中(在 viewDidLoad 事件中)。

【讨论】:

以上是关于UIScrollView - 无法查看所有 UIView的主要内容,如果未能解决你的问题,请参考以下文章

1-3 UIScrollView

uiscrollview无法滚动到底部

UIScrollView 对象通过引用传递,不被返回

键盘可见的 UIScrollView

uiscrollview 不能滚动到底部

UIScrollView中的iOS UITextField没有响应