iOS Сегодняшнее расширение виджета – анимация UISlider

Я создаю сегодняшнее расширение в iOS. То, что я пытаюсь сделать, – оживить изменение значения в UISlider, добавленное в сегодняшнее расширение. Анимация должна начинаться с начального значения до конечного значения.

Я попытался сделать это двумя способами: первая анимация UIView

func updateSliderView(beginState:Float, duration: NSTimeInterval) { sliderView.hidden = false sliderView.setValue(beginState, animated: false) UIView.animateWithDuration(duration) { () -> Void in self.sliderView.setValue(1, animated: true) } } 

Вторая с базовой анимацией.

 func updateSliderView(beginState:Float, duration: NSTimeInterval) { sliderView.hidden = false guard let _ = sliderView.layer.animationForKey("slider.animation.value") else { let animation = CABasicAnimation(keyPath: "value") animation.fromValue = beginState animation.toValue = 1 animation.removedOnCompletion = true sliderView.layer.addAnimation(animation, forKey: "slider.animation.value") return } } 

Я делаю это с новым XCode 7.0.1 с целевым объектом iOS 8.1. Оба результата заканчиваются без анимации. У UISlider отключено взаимодействие с пользователем. Я использую UISluder, потому что у меня есть пользовательская графика для дорожки минимального и максимального дорожек ползунка и для большого слайдера.

Я сделал третий тест

 sliderView.setValue(beginState, animated: false) CATransaction.begin() CATransaction.setAnimationDuration(duration) sliderView.setValue(1, animated: true) CATransaction.commit() 

он не будет работать: /

Реферат: Работает только UIView.animation. Это анимация, но она нарушает мою таможенную графику для UISlider, и она не устанавливает начальное значение для слайдера.

Как я могу оживить изменение значения UISlider в расширении Today?

One Solution collect form web for “iOS Сегодняшнее расширение виджета – анимация UISlider”

Хорошо, я решил это. Я отвечаю на собственный вопрос, потому что, возможно, это поможет кому-то, и это решение, о котором я просил.

Только UIView.animation оживляют UISlider внутри Todays Extension . Но установка начального значения не работала до анимации, и анимация нарушала пользовательскую графику на слайдере. Я понял это, когда вы установили начальную ценность в блоке UIView.animation, когда-либо будет работать так, как я хотел.

 UIView.animateWithDuration(0.2, delay: 0, options: .CurveLinear, animations: { () -> Void in self.sliderView.setValue(beginState, animated: true) }) { (completed) -> Void in UIView.animateWithDuration(duration, delay: 0.1, options: .CurveLinear, animations: { () -> Void in self.sliderView.setValue(1, animated: true) }, completion: nil) } 

Я объединил два блока анимации UIView. Результат был таким, каким я ожидал раньше. начальное значение было установлено. Значение UISlider было анимировано от начального значения до конца. Все пользовательские графики, такие как мин, макс и большой палец, отображались правильно.

  • Как использовать не растягиваемое, но повторяющееся фоновое изображение для трека UISlider?
  • Измените размер файла UISlider thumbImage
  • ios устанавливает начальную позицию и прирост UISlider
  • Выровнять изображение большого пальца UISlider - цель-c
  • Используйте ползунок для выбора цвета для фона
  • Непрерывно изменяйте значение UILabel на изображении большого пальца UISlider
  • Предотвращение воздействия UIPageViewController на UISlider
  • iOS, как сделать ползунок в дискретных точках
  • Как изменить UISlider на вертикальную?
  • Как показать значение UISlider как целого
  • Постоянно обновлять UISlider в UITableViewCell
  • Interesting Posts

    Как я могу обеспечить, чтобы мое приложение iPhone использовало тестовую среду Game Center?

    Как увеличить масштаб до центра с помощью scrollview?

    Как динамически изменять размер статического UITableViewCell?

    «Показывать приложение на Apple Watch» Переключение сбоев после установки, переключение переключается на «Выкл.», «Наблюдение за приложением» исчезает. Как исправить?

    NSPredicate что-то эквивалентное SQL GROUP BY

    Какой метод вызывается, когда устройство вот-вот разблокируется?

    iOS SDK: Как получить ячейку в виде таблицы, которая не видна?

    Игнорирование UIGestureRecognizer при нажатии кнопки

    Идентификатор, используемый для подписи исполняемого файла, более недействителен <= help me

    Интервал между ячейками UICollectionView на основе размера экрана устройства

    Быстрая расширяемая панель поиска в заголовке?

    ViewController, наблюдающий за отсутствием свойства объекта

    AVCaptureSession Запись видео с аудио

    Push Notifications не регистрируется в приложении App Store – iphone

    Рисование анимации

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.