iOS XibKits-- Label内边距设置
生活随笔
收集整理的這篇文章主要介紹了
iOS XibKits-- Label内边距设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在使用Xib開發的時候,除了設置Label的外邊距約束的時候,還會想設置下內邊距即前端的padding,但Xib設置Label的padding并不直觀,下面添加幾個屬性讓Xib設置更簡單。
目的
讓XIb開發時更直觀的設置Label的padding。
?
策略
?
行動(代碼)
@IBDesignable class RadiusLabel: UILabel{private var padding = UIEdgeInsets.zero@IBInspectablevar paddingLeft: CGFloat {get { return padding.left }set { padding.left = newValue }}@IBInspectablevar paddingRight: CGFloat {get { return padding.right }set { padding.right = newValue }}@IBInspectablevar paddingTop: CGFloat {get { return padding.top }set { padding.top = newValue }}@IBInspectablevar paddingBottom: CGFloat {get { return padding.bottom }set { padding.bottom = newValue }}//重新繪制文本override func drawText(in rect: CGRect) {super.drawText(in: rect.inset(by: padding))}//重新text文字框大小override func textRect(forBounds bounds: CGRect, limitedToNumberOfLines numberOfLines: Int) -> CGRect {let insets = self.paddingvar rect = super.textRect(forBounds:bounds.inset(by: insets), limitedToNumberOfLines: numberOfLines)rect.origin.x -= insets.leftrect.origin.y -= insets.toprect.size.width += (insets.left + insets.right)rect.size.height += (insets.top + insets.bottom)return rect} }
?
使用
在Xib屬性看到上下左右padding屬性修改即可。
XibKits 源碼地址
總結
以上是生活随笔為你收集整理的iOS XibKits-- Label内边距设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现ISA2004的WPAD(自动发现功
- 下一篇: 如何在r的图片中画出特定点的水平线和垂直