1

我正在为我的应用程序使用一些矢量图形 (.png)。在 Photoshop 中,我可以放大并始终看到简单几何形状(如圆形)的完美清晰边界。然而,在我的 iPhone 上,我的相同图形看起来参差不齐且粗糙。我发现如果我将图像填充类型更改为重绘',这有助于解决问题。

那么,有人可以确认在这种情况下使用重绘是否是正确的解决方案吗?另外,如何使以编程方式定义的按钮的图像使用“重绘”而不是默认值(我认为是“填充”)?

这是我当前按钮的代码:

UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn1 setTitle:@"Cool title" forState:UIControlStateNormal];
[btn1 setFrame:CGRectMake(7, 7, 150, 160)];
[btn1 setImage:[UIImage imageNamed:@"myGraphic.png"] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(selectFav) forControlEvents:UIControlEventTouchUpInside];
[_scroller addSubview:btn1];
4

1 回答 1

2

删除这一行:

 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];

添加这一行:

 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];

设置内容模式:

 [btn1 setContentMode:UIViewContentModeRedraw];

希望这能解答您的所有疑虑!

于 2013-06-04T04:56:14.843 回答