Mis*_*ack 63 xcode padding uibutton swift imageedgeinsets
我在添加左侧填充时遇到问题UIButton.我有一个UIButton带UIControlContentHorizontalAlignmentLeft.我希望文本显示在左侧,但它太左了.当我给边框时,它看起来不太好.我想在CSS中给出一些关于5px的文本填充.我用谷歌搜索解决方案,但找不到一个特别适合UIButton.在此先感谢您的帮助.
Rya*_*los 119
titleEdgeInsets按钮标题绘制矩形边缘的插入或开始边距.
@property(非原子)UIEdgeInsets titleEdgeInsets
讨论使用此属性可以调整按钮标题的有效绘图矩形并重新定位.您可以为四个插图(顶部,左侧,底部,右侧)中的每一个指定不同的值.正值会缩小或缩小,使其靠近按钮的中心.负值会扩展或偏离该边缘.使用UIEdgeInsetsMake函数为此属性构造值.默认值为UIEdgeInsetsZero.
可用性适用于iOS 2.0及更高版本.
在UIButton.h中声明
试一试:)
[myButton setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 5.0, 0.0, 0.0)];
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用自定义按钮,则会出现内容插入和图像插入等内容.
如果你在这里寻找斯威夫特.这是有效的Swift 3.0
myButton.titleEdgeInsets = UIEdgeInsets(top: 0.0, left: 5.0, bottom: 0.0, right: 0.0)
Run Code Online (Sandbox Code Playgroud)
您也可以直接设置它.如果要使用一个或两个属性,这将很有帮助.
myButton.titleEdgeInsets.top = 0
myButton.titleEdgeInsets.left = 5
myButton.titleEdgeInsets.bottom = 0
myButton.titleEdgeInsets.right = 0
Run Code Online (Sandbox Code Playgroud)
Luc*_*hwe 21
这是一个更好的答案:
码:
extension UIButton {
func addLeftPadding(_ padding: CGFloat) {
titleEdgeInsets = UIEdgeInsets(top: 0.0, left: padding, bottom: 0.0, right: -padding)
contentEdgeInsets = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: padding)
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
myButton.addLeftPadding(10)
Run Code Online (Sandbox Code Playgroud)
这是另一个如何解决此问题的示例:
[self.myButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
float padding_button = 6.0f;
UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0f, padding_button, 0.0f, -padding_button);
UIEdgeInsets contentInsets = UIEdgeInsetsMake(padding_button, 0.0f, padding_button, 0.0f);
CGFloat extraWidthRequiredForTitle = titleInsets.left - titleInsets.right;
contentInsets.right += extraWidthRequiredForTitle;
[self.myButton setTitleEdgeInsets:titleInsets];
[self.myButton setContentEdgeInsets:contentInsets];
[self.myButton sizeToFit];
Run Code Online (Sandbox Code Playgroud)
此外,如果您的按钮有图像,您只需添加:
[self.myButton setImage:[UIImage imageNamed:@"YourImage.png"] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
祝好运!
| 归档时间: |
|
| 查看次数: |
75861 次 |
| 最近记录: |