我创建了具有中心垂直+中心水平约束的xib文件,稍后将成为navigationItem的titleView。
在xib的init中我设置了文本和图像。
class UIViewFromNib: UIView {
@IBOutlet var view: UIView!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var titleImageView: UIImageView!
init(frame: CGRect,title:String,image:UIImage) {
super.init(frame: frame)
UINib(nibName: "NavTitle", bundle: nil)
.instantiate(withOwner: self, options: nil)
addSubview(view)
view.frame = self.bounds
titleLabel.text = title
titleImageView.image = image
}
}
然后,在videDidLoad中,我将视图添加到navigationItem的titleView中。
let rect = CGRect(x: 0, y: 0, width: width, height: 40)
let width = self.view.bounds.width
let view = UIViewFromNib(frame: rect,
title: title,
image: image)
navigationItem.titleView = view
navigationItem.titleView?.sizeToFit()
在RTL中更糟糕
我该如何解决? 谢谢
答案 0 :(得分:2)
支持自动布局。
Route::get('/cms/index', function () {
return view('cms-templates/index');
});
Route::get('/cms', function () {
return view('cms-templates/index');
// tried return redirect('/cms/index')
// tried return hello world
});
答案 1 :(得分:1)
尝试更改此行:
let rect = CGRect(x: 0, y: 0, width: width, height: 40)
到
let rect = CGRect(x: 0, y: 0, width: 200, height: 40)
问题是你给屏幕宽度的视图。在运行时,当后退按钮出现时,视图宽度更改为(totalWidth - navigationBackButtonWidth),这会更改其中图像的中心对齐。