繁体   English   中英

iOS在iPhone 6及更高版本上设置导航项标题视图框架故障

[英]iOS Setting navigation item title view frame glitches on iPhone 6 and up

我将UIButton用于navigation item title view ,并且按钮的宽度可能会发生变化,因此我将框架设置如下:

CGFloat titleButtonTextWidth = [title sizeWithAttributes:@{NSFontAttributeName:FontMedium(14)}].width;
CGFloat buttonWidth = MAX(titleButtonTextWidth, SCREEN_WIDTH/3.f);

self.titleButton.frame = CGRectMake(0, 0, buttonWidth, 30);

在iPhone 5s及更低版本上,标题按钮位于中间,但在iPhone 6及更高版本上, frameorigin得到尊重,标题按钮最终位于左上角。 解决这个问题很容易,但是我不知道为什么苹果公司决定突然改变这样的事情。

你们认为这可能是错误还是更改?

CGFloat titleButtonTextWidth = [title sizeWithAttributes:@{NSFontAttributeName:FontMedium(14)}].width;
CGFloat buttonWidth = MAX(titleButtonTextWidth, SCREEN_WIDTH/3.f);

self.titleButton.frame = CGRectMake(0, 0, buttonWidth, 30);
self.titleButton.titleLabel.frame = CGRectMake(0, 0, buttonWidth, 30);

将您的代码更改为此,这将使标题位于按钮中间。 您可以相应地更改按钮框

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM