UIButton的自定义图片和框架

7
我有以下代码。
  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?


我必须将图像调整为28 x 28。我以为UIButton的框架会将100 x 100的图像压缩到28 x 28。看来不是这样。 - Joo Park
3个回答

14

如果需要重新调整大小,将按钮的image设置为backgroundImage。否则,image不会被重新调整大小。

[btnCancel setBackgroundImage:cancelImg forState:UIControlStateNormal];

3
这种行为可能已经发生了变化,因为上述代码会在iOS 4.2上产生一个缩小的按钮。

当。我实际上想要原帖中的行为。谢谢你发帖。 - AndrewKS

0
在iOS 5中,我一直在尝试自定义按钮,使其在设备方向改变时自动调整大小。 我设置了背景图像和图像,其初始边界与按钮相同,我发现背景图像会调整大小,而图像没有,但仍保持在按钮框架中心。

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