我在UISlider上工作,我在滑块上添加了一个Thumb图像(slider_iphone.png 53 X 199)。但问题是当我添加视网膜图像时(slider_iphone@2x.png 106 X 398),拇指图像变得比简单图像更宽更长。
我搜索了很多谷歌和堆栈溢出但没有找到任何解决方案。为什么不在正确的框架中拍摄视网膜图像。请提出任何解决方案。
代码:
slider = [[UISlider alloc]initWithFrame:CGRectMake(0.0,180.0,320.0,180.0)];
[slider setMinimumValue:1.0f];
[slider setMaximumValue:10.0f];
[slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged];
UIImage *sliderTrackImage1 = [[UIImage imageNamed: @"button-transparent.png"] stretchableImageWithLeftCapWidth: 0.0 topCapHeight: 0.0];
UIImage *thumb = [UIImage imageNamed:@"slider_iphone@2x.png"];
[slider setMinimumTrackImage: sliderTrackImage1 forState: UIControlStateNormal];
[slider setMaximumTrackImage: sliderTrackImage1 forState: UIControlStateNormal];
[slider setThumbImage:thumb forState:UIControlStateHighlighted];
[slider setThumbImage:thumb forState:UIControlStateNormal];
答案 0 :(得分:2)
您不应该使用代码中定义的@ 2x图像!
您的捆绑包中的正常图像和@ 2x图像以及代码中都指定了正常图像!
应用程序将根据设备的屏幕适当选择所需的图像。
答案 1 :(得分:2)
无需添加@ 2x只需使用:
[self.slider setThumbImage:[UIImage imageNamed:@"n.png"] forState:UIControlStateNormal];