【发布时间】:2014-01-03 15:33:39
【问题描述】:
我被 UIScrollView 的奇怪行为卡住了,我放大 UIScrollView 的 contentSize 后无法点击 UIButton。
我想做的事:
使用 UIScrollView 显示表单
点击提交按钮后,滚动视图会放大一些高度以显示更多信息。
在进一步的信息中,我将放置并显示另一个 UIButton(在开头隐藏)以便处理到下一步。
问题是我将新的 UIButton 放置到放大区域并且按钮不可点击,而我将 UIButton 放置到现有区域(滚动视图的初始框架)然后按钮正常工作。对于这两种情况,滚动视图的滚动条都执行正常行为。(即,滚动端是新的内容高度)
这是我目前所拥有的:
一个 UIView xib(将所有元素放入其中,包括隐藏按钮)
一个 UIScrollView(将 UIView xib 加载到其中)
UIView* view = [[[NSBundle mainBundle] loadNibNamed:@"view" owner:self options:nil] objectAtIndex:0];
[view loaded];
[scrollView addSubview:view];
- 点击提交按钮后:
// offset = some amount;
[scrollview setContentSize:CGSizeMake(scrollview.contentSize.width, scrollview.contentSize.height+offset)];
// h = some amount before the end of the scroll view
CGRect r = nextBtn.frame;
r.origin.y = h;
nextBtn.frame = r;
[nextBtn setHidden:NO];
我试图更改滚动视图的 clipSubviews 属性,但似乎根本不适用于我的情况。
有人知道这是怎么回事吗?有没有更好的方法来完成这项工作? (调整滚动视图的大小,然后在其中放置另一个按钮)
任何帮助都会很棒!非常感谢!
【问题讨论】:
-
如何设置
button.frame = CGRectMake(button.frame.origin.x,scrollView.contentSize.height - button.frame.size.height,button.frame.size.width,button.frame.size.height)并查看按钮是否位于scrollView 的末尾。 -
按钮出现在scrollView的末尾,但仍然不可点击。好像初始帧下面的区域是不能点击的……
-
嗨 user3088152,你找到解决办法了吗?
标签: ios iphone objective-c uiscrollview uibutton