gpt4 book ai didi

ios - UIScrollView 和 UINavigationController 交互

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:00 27 4
gpt4 key购买 nike

我刚刚注意到,如果我将 UIScrollView 作为 UIViewController 的 Root View :

- (void)loadView
{
self.view = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
}

我免费获得了很多行为:如果状态栏、导航栏或工具栏存在并且是半透明的,则 scrollView 会自动设置它的 contentInsetscrollIndicatorInsets,并且如果任何导航布局发生变化,则更新属性:

[self.navigationController setNavigationBarHidden:YES animated:YES];

不幸的是,当更改 contentsInset 时, ScrollView 也会自动更改它的 contentOffset,因此内容会在导航栏消失时上升,而在导航栏出现时下降。

我非常喜欢这种自由行为,但我希望我的内容在导航栏来来去去时保持静止,而且我找不到避免 contentOffset 更改的位置.

编辑:

在一些堆栈跟踪之后,我发现了一个每次自动调整偏移量时都会调用的方法:[UIScrollView(Static) _adjustContentOffsetIfNecessary];但是由于我找不到关于此方法的任何文档,所以我不知所措。

最佳答案

好的,我找到了。 UIViewController 有一个名为“automaticallyAdjustsScrollViewInsets”的属性,它会在显示/隐藏导航栏时更改 contentOffset。将其设置为 no 以防止对 UIScrollView 进行更改。

来源(和 ios6 解决方案):https://stackoverflow.com/a/20325593/936957

关于ios - UIScrollView 和 UINavigationController 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com