UIBarButtonItem width is a parameter that can be set to customize how an item is displayed. It can be used to position the item, or to position the button’s title. It can also be used to add or remove space to the button’s title. It can also affect the size of the bar button item’s combined image and title. It can be used in combination with other properties such as tintColor or titleEdgeInsets to achieve desired alignment.

UIBarButtonItem can also be used in combination with an appearance proxy to customize the appearance of the interface object. This allows developers to control the appearance of the interface object before the app window is displayed. It also allows for separation of the layout code from the implementation. The appearance proxy will not affect the bar button item, but can be used to control its styling.

The image used by a bar button item can be tinted to a custom color. If the image is too large, it will be scaled down to fit. The alpha values in the source image are used to create the image. The background of the button will be colored with tintColor. The image can also be tinted with a transparency mask. The image must be of a transparency mask. If the bar button item’s image is not a transparency mask, the alpha values in the image will be used to create the image.

The dividers between buttons are normally vertical lines. The height and width of the dividers are not automatically adjusted. However, they can be adjusted programmatically. This is used when one of the buttons is selected and the other is not. They are normally a few pixels wide. They are also used when the buttons on both sides of the bar are unselected.

The bar button item’s internal position is controlled by contentHorizontalAlignment and contentVerticalAlignment. This allows for the button to be aligned and positioned in a way that is convenient for the user. ContentEdgeInsets can be used to add or remove space to the title. Depending on how the contentEdgeInsets are used, the button can be moved internally, or it can be shifted out of the bar.

It is important to note that in iOS 11, UIBarButtonItem images will no longer work. When you try to set the divider image to a larger value, the image will be squished and it will not fit the width of the bar button item. If you are unable to create an image that fits the width of the bar button item, you can use flexibleSpace. This property allows you to space the buttons across the bar evenly. It is important to note that flexibleSpace does not affect the height of the dividers.

If you are using a custom view to display the UIBarButtonItem, you can use the sizeThatFits property to determine the minimum size of the view. This property also allows you to create a wrapper view, which can have a minimum size constraint.