LoginSignup
2

More than 3 years have passed since last update.

Organization

iOS11でUIBarButtonItemのサイズがずれる

メンテナンスしていなかったアプリのUIBarButtonItemのサイズがやたらおかしくなっていたことに気づいた。

原因

UIBarButtonItemのレイアウト設定がautolayoutに対応したのが原因のよう

解決策

 let widthConstraint = button.widthAnchor.constraint(equalToConstant: 32)
 let heightConstraint = button.heightAnchor.constraint(equalToConstant: 32)
 heightConstraint.isActive = true
 widthConstraint.isActive = true
NSLayoutConstraint * widthConstraint = [customButton.widthAnchor constraintEqualToConstant:40];
NSLayoutConstraint * HeightConstraint =[customButton.heightAnchor constraintEqualToConstant:40];
[widthConstraint setActive:YES];
[HeightConstraint setActive:YES];

UIBarButtonItem* customBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.leftBarButtonItem = customBarButtonItem;

このように縦と横の制約を追加

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2