与 Safari 中的行为相同,导航栏随 Web View 滚动。
我尝试过使用两个 ScrollView 。第一个 ScrollView 是导航栏的容器,第二个 ScrollView 的滚动指示器隐藏。它可以工作(导航栏滚动)几乎像 Safari 中的导航栏,但存在以下问题:
- 即使我没有将属性
showsScrollIndictor
设置为NO
,第二个 ScrollView 上的滚动指示器也是隐藏的。 - 当我点击状态栏时,它不会滚动到第一个 ScrollView (嵌套)的顶部
最佳答案
好吧,如果您不介意修改 View 树,只需将其作为 subview 添加到 WebView 的 ScrollView 中,然后将其他所有内容都向下推即可。我在Apple的UICatalog(WebViewController.m,而不是[self.view addSubview:urlField];)中尝试过,它似乎有效
UIScrollView * myScrollView;
for (UIView * view in [myWebView subviews]) {
if ([view isKindOfClass:[UIScrollView class]]) {
myScrollView = (UIScrollView *) view; //probably first, but ya never know
}
}
for (UIView * view in [myScrollView subviews]) {
CGRect tempFrame = view.frame;
tempFrame.origin.y += kTextFieldHeight;
view.frame = tempFrame;
}
[myScrollView addSubview:urlField];
为了使其更漂亮,您还需要将textFieldFrame中的“kTweenMargin”替换为0,并删除webFrame调整:
webFrame.origin.y += kTopMargin + 5.0;
webFrame.size.height -= 40.0;
关于iphone - 将导航栏剪辑到 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4980513/