我在Storyboard应用中有一个UIViewController
。
当设置了segue并且我从IB添加了UIToolBar
到底部时,会自动添加导航栏。
在运行时,UIScrollView
作为视图添加到视图控制器中。导致的问题是它与之前添加的UIToolBar
重叠。所以我添加了以下行并将工具栏拉回到前面。
self.mailOptionsToolbar.layer.zPosition = 1;
现在它显得很好,但仍然存在一个小问题。当我点击UIToolBar
中的工具栏按钮项时,它们就不起作用了。比如,在滚动视图中,如果UITextbox位于任何这些按钮的正下方,当我点击它们时会弹出键盘!就像点击通过UIToolBar
下降到下面的UITextField一样。我怎样才能阻止这种情况发生?
我也想到了另一种方式。这是调整UIScrollBar
的大小以仅适合白色间隔区域,以便它不会首先掩盖UIToolBar
因此不会产生此点击问题。但我不知道如何使运行时添加的UIScrollView
仅适合白色区域。
对这两方面的建议将不胜感激。
谢谢。
答案 0 :(得分:1)
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
// 20.0f is for status bar height and 44.0f is for navigation bar
CGFloat scrollViewHeight = screenHeight - 20.0f - 44.0f - self.mailOptionsToolbar.frame.size.height;
CGRect frame = [CGRectMake(0, 0, 320.0f, scrollViewHeight)];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:frame];