我正在使用默认的UISlider。我在不同的屏幕上使用xib文件。
点击政策按钮后
EditorialPolicyViewController *policyView;
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
policyView = [[EditorialPolicyViewController alloc]initWithNibName:@"EditorialPolicyViewController_iPad" bundle:nil];
}
else
{
policyView = [[EditorialPolicyViewController alloc]initWithNibName:@"EditorialPolicyViewController_iPhone" bundle:nil];
}
[self.navigationController pushViewController:policyView animated:YES];
ViewDidLoad - 设置uislider
NSString *textSize = [[NSUserDefaults standardUserDefaults] valueForKey:@"Text Size"];
float textSizeFloat = [textSize floatValue];
self.textSizeSlider.value = textSizeFloat;
[self.textSizeSlider setMaximumValue:16.0];
[self.textSizeSlider setMinimumValue:11.0];
如果您有任何其他问题,请与我们联系。我不知道如何解决这个错误。
更新 发现下面的代码是“主题”滑块但是当我删除它时,它工作正常。什么方式我可以保持主题颜色而不是让它消失?
[[UISlider appearance] setThumbTintColor:[UIColor colorWithRed:0/255.0f green:75/255.0f blue:152/255.0f alpha:1.0f]];
[[UISlider appearance] setMinimumTrackTintColor:[UIColor colorWithRed:164/255.0f green:75.0f blue:25/255.0f alpha:1.0f]];
[[UISlider appearance] setMaximumTrackTintColor:[UIColor colorWithRed:204/255.0f green:204/255.0f blue:204/255.0f alpha:1.0f]];
答案 0 :(得分:4)
这是SetMaximumTrackTintColor
中众所周知的错误。
删除这一行:
[[UISlider appearance] setMaximumTrackTintColor:[UIColor colorWithRed:204/255.0f green:204/255.0f blue:204/255.0f alpha:1.0f]];
并且您的应用可以正常使用。
答案 1 :(得分:0)
您可以将外观更改移动到viewDidLoad:函数中。 这样,外观变化只会发生一次。
- (void)viewDidLoad
{
// Appearance changes here
}
它对我有用
答案 2 :(得分:0)
这是一个已知错误是正确的。但是找到了解决它的方法,这样你仍然可以保持你的主题:
[[UISlider appearance] setMaximumTrackTintColor:[UIColor colorWithRed:204/255.0f green:204/255.0f blue:204/255.0f alpha:1.0f]];
在我使用滑块的UIViewController中,我在viewDidLoad中设置了maximumTrackTintColor:方法
- (void)viewDidLoad
{
[super viewDidLoad];
_slider.maximumTrackTintColor = [UISlider appearance].maximumTrackTintColor;
}
这适合我,所以我想分享!