首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在iPhone应用中实现UIButton / UILabel的“填充”

如何在iPhone应用中实现UIButton / UILabel的“填充”
EN

Stack Overflow用户
提问于 2010-06-16 19:14:52
回答 4查看 60.1K关注 0票数 72

我的iPhone应用程序中有各种需要填充的视图,例如一个文本左对齐的自定义UIButton,以及一个背景色的UILabel。

这可能是一个非常愚蠢的问题,但我如何应用‘填充’来将文本从左边移走呢?

我已经厌倦了使用边界等,但没有任何成功。

我知道我可以为我的UILabel创建一个带有背景色的包装器视图,但这似乎有点过分了。

非常感谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-17 00:36:46

到目前为止,我找到的最简单的解决方案是:

self.textAlignment = UITextAlignmentCenter; 
[self sizeToFit]; 
CGRect frame = self.frame;
frame.size.width += 20; //l + r padding 
self.frame = frame;

不完全是我想要的,但它是有效的。

票数 22
EN

Stack Overflow用户

发布于 2010-07-14 09:11:26

我正在尝试实现一个类似的东西,那就是'pad‘a UILabel。我一直在尝试实现Toby在上面发布的解决方案,但似乎找不到需要去做的地方。我正在使用的UILabel左对齐-这是导致问题的原因吗?

我尝试过在viewDidLoad中使用它,甚至在方法中的UILabel的子类中也是如此:

- (CGRect)textRectForBounds:(CGRect)bounds
     limitedToNumberOfLines:(NSInteger)numberOfLines 
票数 0
EN

Stack Overflow用户

发布于 2018-09-19 21:19:05

创建一个扩展UIButton的自定义类并覆盖它会怎么样:

- (CGRect)titleRectForContentRect:(CGRect)contentRect
{
    return UIEdgeInsetsInsetRect(contentRect, UIEdgeInsetsMake(topPadding, rightPadding, bottomPadding, leftPadding));
}

在UILabel的情况下,只需覆盖:

- (CGRect)textRectForBounds:(CGRect)bounds 
     limitedToNumberOfLines:(NSInteger)numberOfLines;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3052731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档