我正在尝试将我的titleView置于我的navigationItem
中心。
在本地化我的应用程序后,我看到了这种行为:
这是我的代码extension
到navigationItem
:
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界限。有什么想法吗?
答案 0 :(得分:1)
如果设置为titleView
的视图非常宽,则会发生这种情况。添加为titleView
的视图仅在宽度大于可用空间时调整大小,在这种情况下,它们会调整大小以填充左侧栏按钮项和右侧之间的空间。
在这种情况下,您已将container
对象设置为200点宽,这比这两个项目的可用空间宽。
如果将container
宽度设置为与图像视图匹配(即66.5点),则它应该居中。 :)
(或者相反,如果您不打算添加任何其他视图,则可以将图片视图直接设置为titleView
)