2017-09-25 9 views
1

ナビゲーションコントローラに2つの通関ボタンが作成されました。 1つの左ボタンと1つの右ボタンを持っていて、どちらもテキスト+矢印アイコンを持っています。私はiOS 11にアップデートして以来、アイコンのサイズが変わってしまったし、なぜか分からない。Swiftを使用しているiOS 11のimageView

この本のiOS 10(左)とiOS 11(右)との差:

enter image description here

どのように私はそれを変更できますか?

これは私のコードです:

func addRightButton(){ 
    rightButton = UIButton.init(type: .custom) 
    rightButton.setImage(UIImage(named: "back"), for: .normal) 
    rightButton.imageView?.contentMode = .scaleAspectFit 

    let width = UIScreen.main.bounds.size.width 
    if width < 375 { 
    rightButton.titleLabel?.font = UIFont.systemFont(ofSize: 13, weight: UIFont.Weight.bold) 
    rightButton.frame = CGRect.init(x: 0, y: 0, width: 75, height: 10) 
    } else { 
    rightButton.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.bold) 
    rightButton.frame = CGRect.init(x: 0, y: 0, width: 100, height: 10) 
    } 

    rightButton.imageView!.transform = rightButton.imageView!.transform.rotated(by: CGFloat((Double.pi/2) * -1)) 
    rightButton.setTitle(" Mixte",for: .normal) 
    rightButton.addTarget(self, action: #selector(self.switchSex(_:)), for: UIControlEvents.touchUpInside) 

    let barButton = UIBarButtonItem(customView: rightButton) 
    self.navigationItem.rightBarButtonItem = barButton 
} 

答えて

2

あなたはこのようにXcodeの9.であなたのボタンの幅の制約を追加する必要があります。

let width = yourButton.widthAnchor.constraint(equalToConstant: 75) 
let height = yourButton.heightAnchor.constraint(equalToConstant: 10) 
heightConstraint.isActive = true 
widthConstraint.isActive = true 
+0

今私はやったことです。しかし、ボタンをフォーカスするのは難しいようです。 (iOS 10以上) – KevinB

0

私はあなたが設定で遊ぶことができると思います画像ビューとボタンの高さアンカーと幅アンカーの制約。

試してみてください。

button.heightAnchor.constraint(equalTo: (button.imageView?.heightAnchor)!, multiplier: 1, constant: 5).isActive = true 
button.widthAnchor.constraint(equalTo: (button.imageView?.widthAnchor)!, multiplier: 1, constant: 70).isActive = true 
関連する問題