我对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及更高版本,origin
的{{1}}受到尊重,标题按钮最终位于左上角角。解决这个很容易,但我不知道为什么Apple决定突然改变这样的事情。
你们认为这可能是一个错误或改变吗?
答案 0 :(得分:0)
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);
将代码更改为此,这将使标题位于按钮中间。您可以相应地更改按钮框