如何让滚动视图占据 uinavigationbar 和 uitoolbar 之间的空间

发布于 2024-09-01 01:17:34 字数 162 浏览 3 评论 0原文

我有一个滚动视图,我必须将视图控制器的视图推送到 UINavigationController。 我的导航栏不透明。

然而,滚动视图似乎保持整个父视图的大小。我希望滚动视图具有工具栏和导航栏之间的空间大小。

这是可能的还是我必须对某些大小值进行硬编码?

提前致谢

I have a scrollview that I had to the view of the view controller pushed to a UINavigationController.
My navigation bar is opaque.

However, the scrollview seems to keep size of the whole parent view. I would like the scrollview to have the size of the space between the toolbar and the navigationbar.

Is this possible or do I have to hardcode some size values?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

国粹 2024-09-08 01:17:34

初始化滚动视图时,您可以设置其 contentSize 参数:

 [scrollView setContentSize:CGSizeMake(320,392)];

屏幕高度 (480) 减去工具栏 (44) 和导航栏 (44) = 392。如果您还显示运营商状态栏,请将其降至 372。

或者,使用框架几何属性:

[scrollView setContentSize:CGSizeMake((scrollView.superview.frame.size.width),
                                      (scrollView.superview.frame.size.height -
                                       toolbar.frame.size.height - 
                                       navigationController.navigationBar.frame.height))];

When you initialize your scrollView you can set its contentSize parameter:

 [scrollView setContentSize:CGSizeMake(320,392)];

The height of the screen (480) minus the toolbar (44) and navigation bar (44) = 392. Drop that to 372 if you're also displaying the carrier status bar.

or, use the frame geometry properties:

[scrollView setContentSize:CGSizeMake((scrollView.superview.frame.size.width),
                                      (scrollView.superview.frame.size.height -
                                       toolbar.frame.size.height - 
                                       navigationController.navigationBar.frame.height))];
无戏配角 2024-09-08 01:17:34

当您使用自动调整大小时,viewDidLoad 上不知道正确的帧大小。
您应该将其打包到 viewWillAppear 中,然后一切正常

scrollView.contentSize = CGSizeMake(scrollView.superview.frame.size.width, scrollView.superview.frame.size.height);

When you use autosize, the correct frame size is not known on viewDidLoad.
You should pack this inside viewWillAppear and then everything works fine

scrollView.contentSize = CGSizeMake(scrollView.superview.frame.size.width, scrollView.superview.frame.size.height);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文