Я добавил элемент управления UISlider в приложение для iPhone View и подключил текстовое поле, которое получает значения из ползунка. Чтобы соответствовать цветам пользовательского интерфейса в приложении, мне нужно изменить цвет ползунка.
Немного погуглив, я смог найти 2 образца, которые делают это (http://blog.hill -it.be / post / 2009/03/23 / Pimp-My-UISlider и http://developer.apple.com/iphone/library/samplecode/UICatalog/index.html) но я застрял, потому что я не уверен, откуда я должен вызывать код.
У меня есть метод, который должен возвращать пользовательский объект UISlider, но как мне переопределить тот, который я создал через конструктор интерфейса, который живет в моих sliderViewController.m и sliderViewController.h?
- (UISlider *)createCustomSlider
{
CGRect frame = CGRectMake(174, 12.0, 120.0, 7.0);
UISlider customSlider = [[UISlider alloc] initWithFrame:frame];
[customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// in case the parent view draws with a custom color or gradient, use a transparent color
customSlider.backgroundColor = [UIColor clearColor];
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"]
stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
UIImage *stetchRightTrack = [[UIImage imageNamed:@"yellowslide.png"]
stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
[customSlider setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal];
[customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
[customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
customSlider.minimumValue = 0.0;
customSlider.maximumValue = 100.0;
customSlider.continuous = YES;
customSlider.value = 50.0;
return customSlider;
}
С .NET у меня обычно был бы некоторый код, сгенерированный редактором WinForms, который я затем мог бы переопределить, создав новый объект и присвоив существующей ссылке.