答案 0 :(得分:1)
最好的方法是以适当的尺寸重新生成图像资源(使用photoshop,预览等),然后再使用它。
另一个选项,在故事板中切换到标尺选项卡并调整图像插入。
另一种方法是使用UIImageView并向其添加UITapGestureRecognizer以检测点击。然后,您可以使用约束配置图像视图并设置纵横比。这里的缺点是,当按下/按下按钮时,你会丢失按钮的状态变化,因此它不会看起来很好。我也不会将图像视图添加为按钮的子视图,这可能会产生奇怪的问题。
我想补充的一点是,调整图片大小可能会很昂贵。如果要将这些按钮加载到tableview中,则需要注意不要在单元格入队/出列时意外调整图像大小。这将阻止主线程并导致平滑滚动问题。
答案 1 :(得分:0)
设置按钮的图像时,它将包含一个包含图像的imageView
属性。因此,您可以将imageView的contentMode
属性设置为.scaleAspectFit
,以便在调整大小后保持图像比例:
button.imageView?.contentMode = .scaleAspectFit
实际的大小调整可以使用布局约束在InterfaceBuilder中完成,例如。
但是,如果您在编译时知道按钮目标大小,则应确保图像已具有所需大小,而不是在运行时调整大小错误的图像。