iOS 10.3.3 导航栏不显示所有按钮

标签 ios swift uinavigationbar

我有带 3 个按钮的 UINavigationBar,它在 iOS 11 的 iPhone 7 上运行良好,但 iPhone 5 10.3.3 在其导航栏中仅显示三个按钮的右侧。

这里有什么问题吗?

    private func setupNavMenuButtons() {

    navButtonTimeframe.addTarget(self, action: #selector(timeframeMenuHandler), for: UIControlEvents.touchUpInside)
    navButtonTimeframe.setTitle(TIMEFRAMES[InAppProperties.sharedInstance.portfolioTimeframeMode], for: .normal)

    let timeframeBtn = UIBarButtonItem(customView: navButtonTimeframe)

    let refreshNav = UIBarButtonItem(barButtonSystemItem: .refresh, target: self, action: #selector(menuRefreshHandler))

    navButtonConvert.addTarget(self, action: #selector(convertMenuHandler), for: UIControlEvents.touchUpInside)

    var image : UIImage
    switch InAppProperties.sharedInstance.convertSymbolWatch {
    case PreferencesHelper.BTC_SYMBOL:
        image = (UIImage(named: "convert_btc_portfolio")?.withRenderingMode(.alwaysOriginal))!
    case PreferencesHelper.ETH_SYMBOL:
        image = (UIImage(named: "convert_eth_portfolio")?.withRenderingMode(.alwaysOriginal))!
    default:
        image = (UIImage(named: "convert_usd_portfolio")?.withRenderingMode(.alwaysOriginal))!
    }

    navButtonConvert.setImage(image, for: .normal)
    let convertNav = UIBarButtonItem(customView: navButtonConvert)

    self.navigationItem.rightBarButtonItems = [refreshNav, convertNav, timeframeBtn]
}

最佳答案

将该行添加到两个自定义项(.refresh 除外):

 navButtonTimeframe.frame = CGRect(x: 0.0, y: 0.0, width: 40, height: 40)

它正在运行。

关于iOS 10.3.3 导航栏不显示所有按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49356786/

相关文章:

ios - 剪裁当前上下文,使其被路径掩盖

ios - 从数字中删除逗号并存储在 SQLite 中,然后从 SQLite 中检索数据并用逗号显示

ios - ImageView 和 Label 未填充父级(UIScrollView)

ios - 解码自定义初始化中的所有属性(枚举类的所有属性并为它们赋值)

cocoa-touch - iOS 7 UINavigationController NavBar 每个 Controller 颜色动画

ios - 如何快速删除导航栏的边框?

ios - Swift Make For Loop 等待异步函数结束

ios - 枚举在不应该初始化的时候被初始化

iOS 7 UINavigationBar Retina 图像大小

iphone - 导航栏隐藏时 View 跳转