Единый фон для UISlider Track - PullRequest
2 голосов
/ 25 июля 2011

У меня есть пользовательский UISlider для позиционирования подкаста по таймеру, который в настоящее время (потому что я не знаю лучше) разделен на левый и правый блок скользящей дорожки (135x48 пунктов) и пользовательская ручка-слайдер (7x48 PTS).

К сожалению, мой код работает некорректно. Хотя это работает, левая половина ползунка движется с продвижением подкаста, а правая половина сдавливается после достижения 50% ползунка.

Что я тут ужасно делаю? Нужен ли один фон для трека UISlider (270x48 баллов)? Это сделано thumbRectForBounds:trackRect:value:? И как? Или я далеко?

А может, кто-то знает, как сделать эту красавицу настоящим крикуном, прикрепляя Звук к Ползунку при каждом его перемещении.

Следующий код. Спасибо, ребята!

- (void)viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyPodcast" ofType:@"mp3"];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
player.delegate = self;
timeSlider.maximumValue = player.duration;
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(timeLoader) userInfo:nil repeats:YES];

// Setup custom slider images
UIImage *minImage = [UIImage imageNamed:@"PodcastSliderLeft"];
UIImage *maxImage = [UIImage imageNamed:@"PodcastSliderRight"];
UIImage *TImage= [UIImage imageNamed:@"PodcastTuner"];

minImage=[minImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
maxImage=[maxImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];

// Setup the slider
[timeSlider setMinimumTrackImage:minImage forState:UIControlStateNormal];
[timeSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];
[timeSlider setThumbImage:TImage forState:UIControlStateNormal];

timeSlider.continuous = NO;

// Cleanup
minImage = nil;
maxImage = nil;
TImage = nil;

[super viewDidLoad];
}
...