2016-11-27 140 views
1

我有一个自定义左栏按钮项目,一个自定义标题视图和一个自定义右栏按钮项目。它们都是固定的空间项目,在故事板中定义了右边的按钮视图,在代码中定义了左边的和标题视图。它们被添加到导航栏,如下所示:导航栏标题视图重叠左栏按钮项目

let leftButton = UIBarButtonItem() 
leftButton.customView = myLeftBarView 
navigationItem.leftBarButtonItem = leftButton 

let rightButton = UIBarButtonItem() 
rightButton.customView = myRightBarView 
navigationItem.rightBarButtonItem = rightButton 

navigationItem.titleView = myTitleView 

这用于正常工作时,我的rightBarButtonItem小,但现在它的周围80px宽,较小的屏幕尺寸(在iPhone 5和5秒)时,titleView被推向左侧,并与我的leftBarButtonItem略有重叠。

我该如何解决这个问题?

回答

0

我希望你已经像这样添加了左右栏按钮项目。

let button: UIButton = UIButton (type: UIButtonType.Custom) 
button.setImage(UIImage(named: "imageName"), forState: UIControlState.Normal) 
button.addTarget(self, action: "backButtonPressed:", forControlEvents: UIControlEvents.TouchUpInside) 
button.frame = CGRectMake(0, 0, 30, 30) 
let barButton = UIBarButtonItem(customView: button) 

self.navigationItem.leftBarButtonItem = barButton 

调用方法。

func backButtonPressed(btn : UIButton) { 

} 

希望这会帮助你。

+0

是的,我所有的酒吧按钮项目都是作为customView添加到'UIBarButtonItem'的UIViews。这虽然没有帮助。 – Tometoyou

+0

你可以写你的整个左栏按钮,标题和右栏按钮代码在视图willappear和更新您的帖子,所以我们可以看到并尽快帮助你。 – Hasya

+0

已更新。 init代码不包含在视图中,但它们使用自动布局。 – Tometoyou