【问题标题】:two right navigationBar button showing offset problem两个右导航栏按钮显示偏移问题
【发布时间】:2019-12-11 03:32:38
【问题描述】:

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

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显示问题

正常图片:

问题图片:

如何解决,求助!!!

【问题讨论】:

    标签: ios iphone uikit


    【解决方案1】:

    您可以简单地将 UIBarButtonItem 数组分配给 navigationItemrightBarButtonsItems 属性。

    只需初始化 UIBarButtonItem 使用Image 方法而不是customView。您甚至不需要分配框架和所有内容,如下所示。

    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]
    

    【讨论】:

      【解决方案2】:

      你可以试试这个代码

      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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-21
        • 2021-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-18
        • 2013-01-20
        相关资源
        最近更新 更多