【问题标题】:centering titleView in navigationItem在navigationItem中居中titleView
【发布时间】:2016-12-13 18:25:40
【问题描述】:

我正在尝试将我的 titleView 放在我的navigationItem 中。 本地化我的应用程序后,我看到了这种行为:

这是我作为extensionnavigationItem 的代码:

extension UINavigationItem{
func makeImg(){


    let container = UIView(frame: CGRect(x: 0,y: 0,width: 200,height: 40))
    let logo = UIImage(named: "Rookie")
    let imageView = UIImageView(frame: CGRect(x: 66.75, y: 7.25, width: 66.5, height: 25.5))
    imageView.image = logo
    imageView.layer.masksToBounds = true
    imageView.clipsToBounds = true


    container.addSubview(imageView)
    self.titleView = container


}

}

我认为这与我在 navigationItem 中的 superView 有关。 所以我应该参考 Screens 边界。有什么想法吗?

【问题讨论】:

  • 您将 imageView 包装在容器中是否有任何具体原因?可以直接将imageView设置为titleView。

标签: ios swift uinavigationitem cgrect titleview


【解决方案1】:

如果设置为titleView 的视图非常宽,则会发生这种情况。作为titleView 添加的视图仅在其宽度大于可用空间时才会调整大小,在这种情况下,它们会调整大小以填充左侧栏按钮项和右侧之间的空间。

在本例中,您将 container 对象设置为 200 磅宽,这比这两个项目的可用空间都要宽。

如果您设置 container 宽度以匹配图像视图(即 66.5 磅),那么它应该居中。 :)

(或者反过来,如果你不打算添加任何其他视图,你可以直接将图像视图设置为titleView

【讨论】:

  • 尝试直接制作。像魅力一样工作。非常感谢
  • 别担心!很高兴我能帮上忙! :)
猜你喜欢
  • 2018-02-10
  • 2016-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多