我正在寻找一种向 UIView 添加 padding
属性的方法。理想情况下,我想避免子类化并将其放入类别中。用法类似于:
myview.padding = UIEdgeInsetsMake(10, 10, 10, 10);
也许还有一个 paddingBox
属性,它会返回一个 CGRect
描述内部填充框的大小和位置。
现在,如何在类别中实现类似的东西。我最初虽然使用 bounds
,但不幸的是 bounds
的大小与 frame
的大小相关联(始终相同)只有坐标可以不同。
最佳答案
这通常是通过在 View 中设置边界来完成的。所以如果你想要一个 10 的插图,你可以这样做:
view.bounds = CGRectInset(view.frame, 10.0f, 10.0f);
边界定义了 View 相对于框架的可绘制区域。所以这实际上应该给出一个填充。然后,您可以仅从边界获取“paddingBox”。
希望对您有所帮助! :)
在 Swift 5+ 中更新,它是
view.bounds = view.frame.insetBy(dx: 10.0, dy: 10.0);
关于ios - 向 UIView 添加填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856821/