Как я могу установить оттенок цвета 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: [])
}
Другие вопросы по тегам