我有两个具有相同图像的自定义UIButton。一个是通过程序创建的,很模糊,另一个是使用演示板,效果很好。这是我的代码

    - (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    UIButton *purchaseButton=[UIButton buttonWithType:UIButtonTypeCustom];
    purchaseButton=[UIButton buttonWithType:UIButtonTypeCustom];
    purchaseButton.frame=CGRectMake(0, 35.5+30, 177, 55);
    [purchaseButton setImage:[UIImage imageNamed:@"GouMai1.png"] forState:UIControlStateNormal];

    [self.view addSubview:purchaseButton];
}

这是项目下载link(由于GFW,我只能将其上传到中文网站)。那是Xcode的错误吗?

最佳答案

    purchaseButton.frame=CGRectMake(0, 35.5+30, 177, 55);

有你的问题。切勿给接口对象非整数坐标。太模糊了! -您会注意到在Interface Builder(故事板)中您无法做到这一点。

原因是在屏幕上有物理像素,没有半像素这样的东西:每个像素都处于打开或关闭状态。因此,如果您使用半点坐标,它们将无法精确匹配像素,并且系统会模糊匹配的事物(抗锯齿等)。

因此,摆脱.5,事情会好得多。

10-08 06:29