调整UIButton的imageView属性

4
我在确定UIButton的imageView属性可以调整多少方面遇到了麻烦。文档中写道:“尽管此属性是只读的,但它自己的属性是可读/写的。使用这些属性来配置按钮视图的外观和行为。”我希望执行一个过渡动画,在其中缩小按钮的大小,并希望按钮的图像也相应缩小。然而,我发现我无法控制该图像的大小。如果我修改UIButton的imageView属性的frame或bounds,似乎什么都不会发生。图像似乎想保留其标准尺寸。在imageView上更改自动布局属性或在按钮上更改contentMode属性也似乎没有帮助。实际上,唯一有效的方法似乎是使用UIEdgeInsetsMake从所有方向“压缩”图像,但这不能进行动画处理。我也不想使用backgroundImage属性,因为我已经在第一次使用它来样式化按钮。
1个回答

4

您可以将自己的UIImageView作为UIButton的子视图添加,而不是使用“嵌入”imageView。 您可以像通常相对于周围的UIButton设置“您”的图像视图的框架。 您将完全控制它的位置,并且还可以对其进行动画处理。


对我来说,这似乎有些奇怪,但作为解决方法是个好主意。 - beno
2
对于iOS7,您可以使用imageEdgeInsets,例如[self.rightBarButton setImageEdgeInsets:UIEdgeInsetsMake(0.0, self.rightBarButton.frame.size.width - image.size.width - 10.0, 0.0, 0.0)]; - JohnQ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接