向UIWebView添加动画顶部栏

时间:2011-04-11 15:14:35

标签: iphone uiwebview uinavigationbar

我有一个加载网页的UIWebView控制器,我想在页面顶部添加一些带有刷新和关闭按钮的栏。 该栏应该在页面加载时隐藏,如果用户点击页面的顶部,则应该再次显示。

有谁知道如何接近它?有没有简单的方法呢?

更新:
我想我对这个问题不够清楚,所以这里有一些澄清:
     1.应用程序是一个标准应用程序,其中一个流程打开加载网页的UIWebView      2.我正在寻找的是一个可以在网页顶部向下滑动的栏(在UIWebView中加载),并且可以帮助用户克服由于某种原因未加载网页的情况。      3.栏应该保持后面(只需关闭UIWebView)并刷新(重新加载UIWebView)操作。

希望它有所帮助。

谢谢, Shimix

3 个答案:

答案 0 :(得分:0)

除非我错过了这样做的图书馆/项目,否则我认为没有一种简单的方法可以做到这一点。

我已经编写了类似于Safari移动地址栏的内容,并且从内存中,它涉及使用私有api和/或玩“不那么私密,但使用风险自负” {{ 1}}子视图层次结构...

答案 1 :(得分:0)

我现在正在做类似的事情,到目前为止,这就是我想出的。其中一些可能是显而易见的,但很重要:

  • 您的地址栏应该是左navigationItem
  • 搜索栏是rign navigationItem
  • 在URL框中开始/结束编辑时,您应该为取消按钮设置动画。
  • Safari Mobile使用Prompt的{​​{1}}属性显示网页标题。
  • 要为搜索/网址栏的宽度设置动画,请在选中该栏时使用navigationBar动画。

答案 2 :(得分:0)

使用调用webview的刷新,后退和前进方法的UIBarButtonItems在webview上方添加UIToolbar非常简单。您还可以将webviewdelegate方法添加到视图控制器,以检测页面何时加载并以此方式隐藏/显示工具栏。

如果您希望将刷新和导航控件显示为webview本身的html内容的一部分,那么这是一个更小的试图,但并非不可能。您可以使用webview的shouldLoadRequest委托方法来检测这些按钮是否已被点击,然后在viewcontroller中执行相应的操作。隐藏和显示导航栏必须在javascript中处理。