UIButton

UIButton + UIBarButtonItem

当使用 UIButton 做为 customView 创建 UIBarButtonItem 时,调用 setTitle(_, for:) 方法更新按钮文字,会出现截断或显示不全的问题,此时可设置 translatesAutoresizingMaskIntoConstraints = false 即可解决。

UIButton: Insets

UIButton 支持设置 contentEdgeInsetstitleEdgeInsetsimageEdgeIntets, 其中 contentEdgeInsets 会影响 instrinsicConentSize,而 titleEdgeInsetsimageEdgeInsets 则不然。此外因为都是 UIEdgeInsets,不支持 NSDirectionalEdgeInsets,所以需要自己通过 userInterfaceLayoutDirection 获取阅读方向。