0
我想设置一个导航栏标题,但是我迄今试过的每种方法都会将标题移动得太远,或者视图根本无法加载并导致应用程序崩溃。这是我最近的尝试(应用程序崩溃)右侧和左侧酒吧项目的中心导航栏标题?
let rightItemSize = self.navigationItem.rightBarButtonItem?.width
let leftItemSize = self.navigationItem.leftBarButtonItem?.width
let navWidth = self.navigationController?.navigationBar.frame.size.width
let navHeight = self.navigationController?.navigationBar.frame.size.height
let titleWidth = navWidth! - (rightItemSize! + leftItemSize!)
let requiredPadding = rightItemSize! - leftItemSize!
var titleViewToAdd = UIView(frame: CGRectMake(0, 0, titleWidth, navHeight!))
var label = UILabel(frame: CGRectMake(requiredPadding, 0, titleWidth - requiredPadding, navHeight!))
label.backgroundColor = UIColor.redColor()
label.font = UIFont.boldSystemFontOfSize(14.0)
label.textColor = UIColor.blackColor()
label.numberOfLines = 1
label.textAlignment = NSTextAlignment.Center
label.text = "\(albumsArtist)"
titleViewToAdd.addSubview(label)
self.navigationItem.titleView = titleViewToAdd
如果我使用self.navigationItem.title =“\(albumsArtist)”。文本是居中,工作很好,但最终我想有两行文本,这种方法将无法正常工作。
我知道有与答案就在这里类似的问题,但所有的人的我已经看过一直是Objective-C和没有工作这么好,当我试图将其转换为斯威夫特。
非常感谢!