两个右导航栏按钮显示偏移问题

时间:2019-12-11 03:32:38

标签: ios iphone uikit

创建两个右栏按钮,代码如下:

UIView *settingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 26, 30)];
UIView *messageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 26, 30)];
UIBarButtonItem *bar1 = [[UIBarButtonItem alloc] initWithCustomView:settingView];
UIBarButtonItem *bar2 = [[UIBarButtonItem alloc] initWithCustomView:messageView];
self.navigationItem.rightBarButtonItems = @[bar1,bar2];

大多数设备显示正常,但很少有iphoneXS Max显示问题

正常图片:
enter image description here

问题图片:
enter image description here

如何解决它,帮助!!!

2 个答案:

答案 0 :(得分:1)

您只需将 UIBarButtonItem 的数组分配给 navigationItem rightBarButtonsItems 属性。

只需使用 Image 方法而不是 customView 初始化 UIBarButtonItem。就像下面一样,您甚至都不需要分配框架。

let barButtonItemOne = UIBarButtonItem.init(image: UIImage(named: ""), style: .plain, target: self, action: "selectorMethodGoesHere")
let barButtonItemTwo = UIBarButtonItem.init(image: UIImage(named: ""), style: .plain, target: self, action: "selectorMethodGoesHere")
self.navigationItem.rightBarButtonItem = [barButtonItemOne, barButtonItemTwo]

答案 1 :(得分:0)

您可以尝试使用此代码

let button1 = UIBarButtonItem(image: UIImage(named: "button1Image"), style: .plain, target: self, action: #selector(button1Tapped))
let button2 = UIBarButtonItem(image: UIImage(named: "button2Image"), style: .plain, target: self, action: #selector(button2Tapped))
navigationItem.setRightBarButtonItems([button1,button2], animated: true)