0
我的NavigationBarItems有一个奇怪的问题。第一次应用程序启动后(应用程序未在后台运行时),BarButton被错置(请参阅屏幕截图1)。按钮标题应该是“PDF”。NavigationBarItem在第一次应用程序启动时放错位置
然而,当我按下home键,然后再次打开该应用程序(与背景),位置是正确的(截图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和项目如下:
self.setTitleView("Tanzkarte")
let sendDanceCardButton = UIBarButtonItem(title: "PDF", style: .Plain, target: self, action: #selector(DanceCardController.sendDanceCard))
self.navigationItem.rightBarButtonItem = sendDanceCardButton
我didn`t找到任何解决方案在互联网的问题,并希望你的人有一个解决方案。
编辑:自定义标题视图不是问题。即使我不使用任何导航栏的标题,按钮也放错了位置。
好主意,但它并没有解决问题 –
似乎不像titleView是问题,因为问题依然存在,当我根本不初始化titleView。 (更新的问题) –
在哪种回调方法中,您是否设置了正确的酒吧项目? – Fujia