【问题标题】:Increase UINavigationBar title font size on scroll滚动时增加 UINavigationBar 标题字体大小
【发布时间】:2015-07-03 03:03:07
【问题描述】:

我今天看到了这种效果,导航栏标题似乎在视图中开始,然后在您滚动页面时缩小并向上移动到导航栏的标题中,然后在滚动回顶部时返回到其原始状态。

有人对这是如何完成的有任何见解吗?是完全使用导航栏,还是使用高度缩小且背景颜色变暗的 UIView 来模拟它?也许标题是转换为 UIImage 并按比例缩小而不是字体大小减小的标签?

只是推测可能的技术。

很想听听这方面的意见。提前致谢。

【问题讨论】:

    标签: objective-c swift uinavigationbar


    【解决方案1】:

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

    navigationBar.frame.origin.y = -10
    

    会将导航栏向上移动 10 点。可以使用

    更改字体
    if let font = UIFont(name: "Lato-Light.ttf", size: 34) {
    UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: font]
    }
    

    这种格式是因为使用强制解包! 会导致应用程序因 UIFont 而崩溃

    在这种情况下,font 可以是一个变量,您可以在其中调用具有相同字体和不同大小的普通 init。

    每当手势识别器更新其值或滚动位置时,都应执行这两个操作。不过,您可能需要也可能不需要重绘视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      相关资源
      最近更新 更多