在 navigationItem 中居中 titleView
centering titleView in navigationItem
我试图将我的 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有关系。
所以我应该参考屏幕边界。有什么想法吗?
如果设置为 titleView
的视图非常宽,就会发生这种情况。添加为 titleView
的视图只有在宽度大于可用 space 时才会调整大小,在这种情况下,它们会调整大小以填充左栏按钮项和右边.
在这种情况下,您将 container
对象设置为 200 点宽,这比这两个项目的可用 space 宽。
如果您设置 container
宽度以匹配图像视图(即 66.5 点),那么它应该居中。 :)
(或者反过来,如果你不打算添加任何其他视图,可以直接将图像视图设置为titleView
)
我试图将我的 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有关系。 所以我应该参考屏幕边界。有什么想法吗?
如果设置为 titleView
的视图非常宽,就会发生这种情况。添加为 titleView
的视图只有在宽度大于可用 space 时才会调整大小,在这种情况下,它们会调整大小以填充左栏按钮项和右边.
在这种情况下,您将 container
对象设置为 200 点宽,这比这两个项目的可用 space 宽。
如果您设置 container
宽度以匹配图像视图(即 66.5 点),那么它应该居中。 :)
(或者反过来,如果你不打算添加任何其他视图,可以直接将图像视图设置为titleView
)