我想将一个属性字串,将其字号具有不同的字体大小,设置为导航项的属性标题,该导航项是导航栏的一部分,并且属性preferredLargeTitles设置为true。
我尝试将自定义视图分配给导航项的属性viewTitle,但是视图的高度始终限制为44 px,这是带有大标题的导航栏的高度的一半。
是否可以添加自定义viewTitle,使其高度等于导航栏的高度?
self.navigationController?.navigationBar.prefersLargeTitles = true
let attrString = NSMutableAttributedString(string: "Page 1",
attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 30)]);
attrString.append(NSMutableAttributedString(string: " Chapter 3",
attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 19)]));
let label = UILabel(frame: CGRect.zero)
label.attributedText = attrString
let frame = CGRect(origin: CGPoint.zero, size: CGSize(width: 256, height: 88))
let titleView = UIView(frame:CGRect.zero)
titleView.addSubview(label)
label.frame = frame
self.navigationItem.titleView = titleView
self.navigationItem.titleView?.frame = frame
答案 0 :(得分:1)
除非您修改视图层次结构,否则不能使用公共api来实现。