Reason
The problem appears because from ios 11 UIBarButtonItem
uses autolayout instead of dealing with frames.
Solution
You should add width constraint for this image-button if you use Xcode 9.
button.widthAnchor.constraint(equalToConstant: 32.0).isActive = true
button.heightAnchor.constraint(equalToConstant: 32.0).isActive = true
PS
button
is not UIBarButtonItem
, it is UIButton
inside UIBarButtonItem
. You should set constraint not for UIBarButtonItem
, but for elements inside it.