我有一个用于编程创建按钮的代码,这里是
UIImage *aroundImage = [UIImage imageNamed:@"locBar.png"];
UIImage *aroundImageDown = [UIImage imageNamed:@"locBarColor.png"];
UIButton *aroundButton = [UIButton buttonWithType:UIButtonTypeCustom];
[aroundButton setFrame:CGRectMake(240, 369, 80, 48)];
[aroundButton setImage:aroundImage forState:UIControlStateNormal];
[aroundButton setImage:aroundImageDown forState:UIControlStateHighlighted];
[aroundButton setImage:aroundImageDown forState:UIControlStateSelected];
[aroundButton addTarget:self action:@selector(aroundMe) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:aroundButton];
所以现在我已经设置了按钮的框架,但是如果这个应用程序在640x960的iPhone4上看到了怎么办。然后我有不同的图像“locBar@2x.png和locBarColor@2x.png”,它们应该与不同的CGRectMake,或者它们应该?我的问题是如何为这两种分辨率设置一个按钮,并以编程方式进行。
答案 0 :(得分:2)
它是自动的:) 如果可用,ios将加载@ 2x版本,如果设备具有x2比例。 帧是在点,而不是像素。
在点数与像素数中查看here
答案 1 :(得分:1)
如果您包含具有相同名称的高分辨率版本的图像,但在扩展名前加上@ 2x,只要您使用[UIImage imageNamed:],iOS就会根据显示分辨率自动选择正确的分辨率功能,或在IB中设置图像。
答案 2 :(得分:-1)
你必须把条件然后根据屏幕尺寸制作按钮框并给它们图像。