UIButton的自定义图像和框架

时间:2010-05-08 01:27:46

标签: iphone uibutton

我有以下代码。

  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尺寸的图像?

3 个答案:

答案 0 :(得分:13)

按钮的image不会重新缩放。如果您需要重新缩放,请设为backgroundImage

[btnCancel setBackgroundImage:cancelImg forState:UIControlStateNormal];

答案 1 :(得分:3)

此行为必须已更改,因为上面的代码会在iOS 4.2上生成按比例缩小的按钮。

答案 2 :(得分:0)

我一直在iOS 5中使用自定义按钮进行实验,这些按钮会在设备方向发生变化时自动调整。我设置了backgroundImage和一个图像,其初始边界与按钮相同,我看到的是backgroundImage调整大小而图像没有,但保持在按钮框架的中心位置。