gpt4 book ai didi

objective-c - 非视网膜屏幕上的UISwitch

转载 作者:行者123 更新时间:2023-12-01 17:58:42 25 4
gpt4 key购买 nike

我正在UISwitch中创建一个TableViewCell

在视网膜显示器上看起来不错。

但是,当我在3GS上构建项目时,我的UISwitch看起来像一张画得不好的图片。

http://iwheelbuy.com/stackoverflow/asdf.png

我的密码

{
...
cell.textLabel.text = NSLocalizedString(@"settings model glare", nil);
UISwitch *cellSwitch = [self switchWithTitle:@"glare"];
[cellSwitch setCenter:CGPointMake(260.0f, cell.frame.size.height / 2)];
[cell addSubview:cellSwitch];
...
}

- (UISwitch *) switchWithTitle:(NSString *)_title
{
BOOL switchState;
if ([[NSUserDefaults standardUserDefaults] boolForKey:_title] == NO)
{
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:_title];
[[NSUserDefaults standardUserDefaults] synchronize];
}
switchState = [[NSUserDefaults standardUserDefaults] boolForKey:_title];
UISwitch *switchForCell = [[UISwitch alloc] initWithFrame:CGRectZero];
if ([_title isEqualToString:@"glare"])
[switchForCell addTarget:self action:@selector(changedValueForGlare) forControlEvents:UIControlEventValueChanged];
else
[switchForCell addTarget:self action:@selector(changedValueForShadow) forControlEvents:UIControlEventValueChanged];
[switchForCell setOn:switchState];
return switchForCell;
}

最佳答案

首先,在这种情况下,将开关设置为单元格的accessoryView并让其担心定位会更容易。

您看到图像模糊的原因是,开关的帧原点在半像素上。您正在设置开关的center,因此其来源取决于开关的大小(这是固定的,因为UISwitch始终使用系统定义的大小)。假设开关的尺寸为79 x 27(标准尺寸),则将中心的y坐标设置为20会导致框架原点的y坐标为6.5(20.0-27.0 * 0.5)。

关于objective-c - 非视网膜屏幕上的UISwitch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com