创建两个右栏按钮,代码如下:
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显示问题
正常图片:
问题图片:
如何解决它,帮助!!!
答案 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)