我有以下代码。
UIImage *cancelImg = [UIImage imageNamed:@"cancel.jpeg"];
UIButton *btnCancel = [UIButton buttonWithType:UIButtonTypeCustom];
btnCancel.userInteractionEnabled = YES;
[btnCancel setFrame:CGRectMake(0.0,0.0, 28.0, 28.0)];
[btnCancel setImage:cancelImg forState:UIControlStateNormal];
cell.accessoryView = btnCancel;
cancel.jpeg目前大于28 x 28,实际上是100 x 100。
为什么当我将UIButton的尺寸设置为28 x 28时,按钮会显示100 x 100尺寸的图像?
答案 0 :(得分:13)
按钮的image
不会重新缩放。如果您需要重新缩放,请设为backgroundImage
。
[btnCancel setBackgroundImage:cancelImg forState:UIControlStateNormal];
答案 1 :(得分:3)
此行为必须已更改,因为上面的代码会在iOS 4.2上生成按比例缩小的按钮。
答案 2 :(得分:0)
我一直在iOS 5中使用自定义按钮进行实验,这些按钮会在设备方向发生变化时自动调整。我设置了backgroundImage和一个图像,其初始边界与按钮相同,我看到的是backgroundImage调整大小而图像没有,但保持在按钮框架的中心位置。