iphone - 将导航栏剪辑到 ScrollView

标签 iphone cocoa-touch uikit

与 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/

相关文章:

ios - iPhone 应用程序定位

iphone - 是否可以在iOS应用中使用 Safari ?

iphone - 带阴影的分组 uitableview

ios - 如何缩小 UIImage 并同时使其变得清晰/清晰而不是模糊?

cocoa-touch - 为什么 valueForKey : on a UITextField throws an exception for UITextInputTraits properties?

iphone - UITableView:删除带有动画的部分

iphone - 更改日期格式中的问题

在选择 'download full message' 之前,Html 电子邮件不会显示在 iPhone 邮件中

iOS:拥有全局字符串的最佳方式——至于通知名称

iphone - 在 iPhone 应用程序中 如何更改整个应用程序的字体样式?