我今天看到了这种效果,导航栏标题似乎从视图中开始,然后在滚动页面时收缩并向上移动到导航栏的标题中,然后当滚动回顶部时,它会反转到原始状态。
有人知道这是怎么做的吗?一个导航条到底是被使用了,还是被模仿使用了一个uiview,缩小高度和背景颜色变暗?也许标题是一个标签转换成uiimage并缩小,而不是字体大小减小?
只是在猜测可能的技术。
我想听听你的意见。提前谢谢。

最佳答案

是的,您可以根据手势识别器更改字体大小和导航栏的原点。

navigationBar.frame.origin.y = -10

将导航栏向上移动10点。字体可以使用
if let font = UIFont(name: "Lato-Light.ttf", size: 34) {
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: font]
}

这种格式是因为使用强制解包将使uifont应用程序崩溃。
在这个上下文中,!可以是一个变量,在这里您可以用相同的字体和不同的大小调用normal init。
当手势识别器更新其值或滚动位置时,应执行这两个操作。但是,您可能需要或可能不需要重新绘制视图。

08-04 02:18
查看更多