我想我的应用程序,以这样的表现:航海中心两个视图titleview的
有确切的行为我NavigationItem.titleView
我按照这些步骤是非常重要的到目前为止:
我创造编程在我的应用程序三个视图:
(1)container
=>成立(2)和(3)=>具有gestureRecognizer附
let container = UIView(frame: CGRectMake(0,0,200,40))
(2)imageContainer
=>具有图像
let imageContainer = UIImageView(frame: CGRectMake(0, 0, 30, 30))
imageContainer.image = UIImage(named: "mock.jpg")
(3)textContainer
= >有一些文字
let textContainer = UILabel(frame: CGRectMake(0,0, 180, 20))
textContainer.text = "Group xY"
按照我设置的图像的中心对准他们:
imageContainer.center = CGPointMake(container.frame.size.width/2,
container.frame.size.height/2)
textContainer.center = CGPointMake(container.frame.size.width/2,
container.frame.size.height/2)
现在,我将所有的子视图我查看和设置
self.navigationItem.titleView = (1)
启动应用表明,该titleview的的元素没有正确对齐
有没有一种方法可以正确地实现这种确切的行为?
注意:不要担心圆形图像。我知道如何实现这一点。
谢谢。这有很大帮助。有没有办法设置视图的最大宽度?如果我把一个更长的文本,它整个Navbar是填充,但我也想有我的Navigationbar.barButtonitems – JVS
我更新了我的答案。如果sizeToFit大于你想要的最大宽度,那么你可以检查标签的宽度,如果它设置为最大宽度,则保持不变(例如'min(maxWidth,textContainer.frame.size.width)'也可以尽管你可能不想缩小标题的范围,但要调整标签缩放因子以适应缩小。 – beyowulf