Adding constraints to a UIBarButtonItem

2019-01-28 09:17发布

Xcode is not allowing me to put constraints on my BarButtonItem on a ViewController in the MainStoryBoard. It's appearing too far to the left where it's unreadable as shown in the image.

The image below shows where the BarButtonItem is. It's supposed to say "Item". I also looked on the preview split screen on Xcode and it looked fine for the iPhone6 but not for the iPhone 4 (it's half cut on the iPhone 4 but here its 3/4s cut). Here I'm running for the iPhone 6 and i get that.

How do I add constraints in Xcode or how do I add the constraints programmatically to this BarButtonItem?

enter image description here

Any help is much appreciated.

2条回答
戒情不戒烟
2楼-- · 2019-01-28 09:44

Drag and drop navigation bar in your xib / story board

enter image description here

U can add constraints to this navigation bar as per your requirement.

Then add Bar Button Item to your navigation bar

enter image description here

Bar Button Item takes it default position u cannot incorporate autolayout there.

Although if u want positions of Bar Button Item Fixed or Flexible u can make use of Fixed Space Bar Button Item or Flexible Space Bar Button Item.

enter image description here

If positions are fixed drag Fixed Space Bar Button between your two Bar Button Item's. And if positions is not fixed its flexible drag Flexible Space Bar Button Item between your two Bar Button Item's.

Happy Coding.. :)

查看更多
相关推荐>>
3楼-- · 2019-01-28 09:52

Try this:

let rightConstraint = NSLayoutConstraint(item: your_item_here, attribute: .Right, relatedBy: .Equal, toItem: your_item_here, attribute: .Left, multiplier: 0, constant: 1)
your_item_here.addConstraint(rightConstraint)

P.S if you want to add constraint to your UIBarButtonItem, it will rise an error

Value of type 'UIBarButtonItem' has no member 'addConstraint'

P.S.S

Because of it is not a view class, you can't apply constraints to it.

查看更多
登录 后发表回答