gpt4 book ai didi

swift - 首次应用程序启动时 NavigationBarItem 错位

转载 作者:行者123 更新时间:2023-11-30 13:14:24 25 4
gpt4 key购买 nike

我的 NavigationBarItems 有一个奇怪的问题。第一次应用程序启动后(当应用程序未在后台运行时),BarButton 被放错位置(参见屏幕截图 1)。按钮标题应为“PDF”。

Screenshot 1

但是,当我按下主页按钮并再次打开应用程序(从后台)时,位置是正确的(屏幕截图 2)。

Screenshot 2

我不知道问题出在哪里。我为导航栏使用自定义 titleView,如下所示:

class TitleView : UIView {
var titleLabel:UILabel!

init(title:String) {
super.init(frame: CGRect(x: 0, y: 0, width: 200, height: 44))

titleLabel = UILabel()
titleLabel.textAlignment = .Center
titleLabel.font = UIFont.normalFont(15)
titleLabel.text = title.uppercaseString
titleLabel.textColor = UIColor.primaryColor()
self.addSubview(titleLabel)

titleLabel.snp_makeConstraints { (make) -> Void in
make.edges.equalTo(self.snp_edges)
}
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

extension UIViewController {
func setTitleView(title:String) {
self.navigationItem.titleView = TitleView(title: title)
self.view.backgroundColor = UIColor.whiteColor()
}

我初始化 viewDidLoad 中的 navigationTitle 和 item,如下所示:

self.setTitleView("Tanzkarte")
let sendDanceCardButton = UIBarButtonItem(title: "PDF", style: .Plain, target: self, action: #selector(DanceCardController.sendDanceCard))
self.navigationItem.rightBarButtonItem = sendDanceCardButton

我在互联网上没有找到该问题的任何解决方案,希望你们能找到解决方案。

编辑:自定义标题 View 不是问题。即使我没有为导航栏使用任何标题,该按钮也会放错位置。

最佳答案

您的标题 View 使用显式宽度进行初始化,该宽度可能超过导航栏允许的最大宽度。尝试以零大小初始化它,并在初始化后调用 sizeToFit()

关于swift - 首次应用程序启动时 NavigationBarItem 错位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38392333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com