Как я могу установить оттенок цвета MPVolumeView?
Как я могу установить оттенок цвета MPVolumeView?
Я вижу метод:
setMinimumTrackTintColor:
и собственность
minimumTrackTintColor
однако использование любого из этих исключений создает исключение.
Мне сказали, что мне нужно позвонить
setMinimumTintColor
или установить свойство
minimumTrackTintColor
на базовом UISlider, однако я не знаю, как это сделать.
Спасибо!
2 ответа
Решение
В iOS 7 вы можете просто изменить цвет слайдера MPVolumeView
как это:
CGRect rect1 = CGRectMake(17, 45, 220, 0);
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:rect1];
volumeView.tintColor = [UIColor colorWithRed:0.0f/255.0f green:255.0f/255.0f blue:127.0f/255.0f alpha:1.0f];
Надеюсь это поможет.
Я долго искал ответ на этот вопрос, потому что в моем приложении мне нужно динамически устанавливать цвета volumeView. Так как UISlider предоставляет способ изменить его цвет оттенка, вы можете циклически просматривать подпредставления MPVolumeView, пока не найдете экземпляр класса UISlider, а затем оперируете этим.
Вот код в Swift:
func customSlider() {
let temp = mpVolView.subviews
for current in temp {
if current.isKind(of: UISlider.self) {
let tempSlider = current as! UISlider
tempSlider.minimumTrackTintColor = .yellow
tempSlider.maximumTrackTintColor = .blue
}
}
}
Результат:
Это помогло мне изменить цвет кнопки маршрута:
volumeView.tintColor = .green
if let routeButton = volumeView.subviews.compactMap({ $0 as? UIButton }).first,
let image = routeButton.image(for: .normal) {
routeButton.setImage(image.withRenderingMode(.alwaysTemplate), for: [])
}