请告诉我两种UIButton方法之间的区别是什么:
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state
和
- (void)setImage:(UIImage *)image forState:(UIControlState)state
Apple文档没有提及它.
解决方法
setBackgroundImage设置按钮的背景图像.通常,您将此选项与“自定义”类型的按钮结合使用,以将背景图像用作按钮的漂亮形状和背景(例如,表示带圆角的矩形并填充了漂亮渐变的图像)
setImage在按钮标题旁边添加一个图像/图标(所有图像和标题都覆盖在背景图像上,当然,这就是为什么它毕竟被称为“背景”).如果你也为你设置了一些标题按钮,图像将被绘制在标题旁边,它的位置将取决于标题长度(以及titleContentInsets / imageContentInsets属性来调整这个位置)
只需在Interface Builder中尝试(为两者设置图像,通过设置标题等来玩),您将更容易理解.