KevinB
KevinB

Reputation: 2484

imageView in iOS 11 using Swift

I created 2 customs buttons in my navigation Controller. I have one left button and one right, and both have some text + an arrow icon. Since I updated to iOS 11, the size of icons has changed and I don't know why.

This this the difference between iOS 10 (Left) and iOS 11 (right):

enter image description here

How can I change that?

This is a piece of my code:

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
}

Upvotes: 0

Views: 136

Answers (1)

user7021134
user7021134

Reputation:

You need to add width constraint for your button in xCode 9. Like this:

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

Upvotes: 2

Related Questions