自定义标题视图在iOS 10中未居中
这篇文章是一个单独的主题,但与 我创建了一个新线程,因为它是一个单独的问题 来自项目:自定义标题视图在iOS 10中未居中,ios,ios10,uinavigationitem,Ios,Ios10,Uinavigationitem,这篇文章是一个单独的主题,但与 我创建了一个新线程,因为它是一个单独的问题 来自项目: 要重新创建问题,只需在现有根视图控制器上放置一个按钮,该按钮将推送另一个视图控制器。“
要重新创建问题,只需在现有根视图控制器上放置一个按钮,该按钮将推送另一个视图控制器。“
干杯 对于iOS 10及以下版本,您需要为属性标题标签设置CGFrame。 下面是代码示例
- (void)viewDidLoad {
[super viewDidLoad];
UILabel *titleLabel = [[UILabel alloc]init];
NSDictionary *fontAttribute = @{ NSFontAttributeName:[UIFont fontWithName:@"SFProText-Medium" size:15.f]};
NSAttributedString *str = [[NSAttributedString alloc]initWithString:@"YOUR TITLE"
attributes:fontAttribute];
titleLabel.attributedText = str;
[titleLabel sizeToFit]; // This method create a frame
self.navigationItem.titleView = titleLabel;
}
快速示例:
override func viewDidLoad() {
super.viewDidLoad()
let titleLabel = UILabel()
let title = NSMutableAttributedString(string: "Your title", attributes:[
NSAttributedStringKey.foregroundColor: UIColor.blue,
NSAttributedStringKey.font: UIFont.systemFont(ofSize: 17.0, weight: UIFont.Weight.light)])
titleLabel.attributedText = title
titleLabel.sizeToFit()
self.navigationItem.titleView = titleLabel
}
我刚刚下载并测试了你的项目,我发现它是正确的,没有问题。我不知道这有什么关系,但我实际做的是,我将根视图控制器更改为新的视图控制器,并连接新视图控制器上的按钮以推送已经存在的控制器。我通常不使用github帐户,但让我开始吧,这样我就可以向您发送我的项目副本。哦,哇,好的。我的和你的实际上是一样的。事实证明,这只会发生在iOS 10上。@BrandonMantzey我使用Xcode 9 GM、iOS 11 iPhone X模拟器清理并运行了您的项目。。标题视图正确居中,一切正常。@BrandonMantzey可能希望更新您的问题,表明这与iOS 10有关;我试图下载iOS 10.3.1模拟器,但苹果服务器不配合。我的所有物理设备都已更新到iOS 11,因此我将尽快完成此操作