我的问题很简单,但我找不到解决方案。我有一个带有标题和图像的 UIButton。我希望无论发生什么情况图像位置都是固定的,所以我这样设置:
[button setImageEdgeInsets:UIEdgeInsetsMake(0.f, 0.f, 0.f, IS_IPHONE ? 20.f : 60.f)];
我没有为按钮设置任何位置titleLabel
.
接下来发生的事情是我为按钮设置新标题,标题标签缩小或扩展以适应新文本,令人惊讶的是它使图像移动,因此很明显,尽管应用了图像边缘插入,但图像位置取决于标签的框架。我看到可以使用两种解决方案:
1)使图像独立于标签的框架
2) 设置标签的固定尺寸
但我不知道如何实现它们。您能给我一些如何解决这个问题的建议吗?
您可以子类化 UIButton 并管理图像和标题的矩形。
重写以下方法并根据您的要求返回图像和标题的适当矩形。
-(CGRect)imageRectForContentRect:(CGRect)contentRect;
-(CGRect)titleRectForContentRect:(CGRect)contentRect;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)