创建导航栏的自定义实现

时间:2014-01-11 08:58:43

标签: ios xcode ios7 uiscrollview uinavigationbar

我希望创建一个与UINavigationBar相似的视图。

我不能简单地自定义栏,因为我希望空间更高,我希望除了UIBarButtonItem之外还有其他几个子视图。所以,我希望能够创建一个类似的实现,包括浮动/半透明效果。

我很好的例子就是iOS 7中Safari的地址栏。栏上的UITextField是无法在默认UINavigationBar上添加的内容。尽管如此,Safari栏仍然具有透明度。

当我向下滚动时,我不希望它像在Safari中那样缩小,我只是希望它保持像UINavigationBar那样。我正在考虑向根UIScrollView添加子视图,但这会随着所有内容滚动。我希望它保持在顶部,但我希望其他元素能够滚动。

我将如何实施此功能?

1 个答案:

答案 0 :(得分:1)

如果您确信不能使用默认的UINavigationBar,则可以使用自定义UINavigationBar的大小缩小(从顶部)UIScrollView,然后将导航栏作为子视图添加到根视图中(0,0)坐标。它将独立于滚动视图。

另一方面,如果您需要通过应用程序持久化并在所有屏幕中使用它,那么从 AppDelegate 开始进行一些更改是明智的,但这是为了另一个问题。

对于iOS 7透明风格的部分,请查看此处:FXBlurView。祝你好运!