iOS. Приемы программирования. Вандад Нахавандипур
Чтение книги онлайн.

Читать онлайн книгу iOS. Приемы программирования - Вандад Нахавандипур страница 27

СКАЧАТЬ style="font-size:15px;">      self.view.backgroundColor = [UIColor whiteColor];

      self.mySlider = [[UISlider alloc] initWithFrame: CGRectMake(0.0f,

      0.0f,

      200.0f,

      23.0f)];

      self.slider.center = self.view.center;

      self.slider.minimumValue = 0.0f;

      self.slider.maximumValue = 100.0f;

      self.slider.value = self.slider.maximumValue / 2.0;

      [self.view addSubview: self.slider];

      [self.slider addTarget: self

      action:@selector(sliderValueChanged:)

      forControlEvents: UIControlEventValueChanged];

      }

      Если сейчас запустить приложение в эмуляторе, вы увидите, что вызывается целевой метод sliderValueChanged: и это происходит всякий раз, как только перемещается ползунок слайдера. Возможно, именно этого вы и хотели. Но в некоторых случаях уведомление требуется лишь тогда, когда пользователь отпустил ползунок, установив его в новом значении. Если вы хотите дождаться такого уведомления, установите для свойства слайдера continuous значение NO. Если это свойство имеет значение YES (задаваемое по умолчанию), то на цели слайдера вызов будет идти непрерывно все то время, пока движется ползунок.

      В SDK iOS разработчик также может изменять внешний вид слайдера. Например, ползунок может иметь нестандартный вид. Чтобы изменить внешний вид ползунка, просто пользуйтесь методом setThumbImage: forState: и передавайте нужное изображение, а также второй параметр, который может принимать одно из двух значений:

      • UIControlStateNormal – обычное состояние ползунка, когда его не трогает пользователь;

      • UIControlStateHighlighted – изображение, которое должно быть на месте ползунка, когда пользователь начинает его двигать.

      Я подготовил два изображения: одно для стандартного состояния ползунка, а другое – для активного (затронутого) состояния. Добавим их к слайдеру:

      [self.slider setThumbImage: [UIImage imageNamed:@"ThumbNormal.png"]

      forState: UIControlStateNormal];

      [self.slider setThumbImage: [UIImage imageNamed:@"ThumbHighlighted.png"]

      forState: UIControlStateHighlighted];

      Теперь взглянем, как выглядит в эмуляторе неактивный слайдер (рис. 1.19).

      Рис. 1.19. Слайдер со специально оформленным ползунком

      1.7. Оформление UISlider

      Постановка задачи

      Вы используете компонент графического интерфейса UISlider, оформленный по умолчанию, и хотите на свой вкус изменить его внешний вид.

      Решение

      Либо измените оттенки различных частей слайдера, либо подготовьте для его элементов собственные рисунки.

      Обсуждение

      Apple проделала огромную работу, предоставив нам в iOS SDK методы для оформления компонентов пользовательского интерфейса. В частности, оформление может быть связано с изменением оттенков различных частей компонента в интерфейсе. Схема, демонстрирующая компонентный состав пользовательского интерфейса, приведена на рис. 1.20.

      Рис. 1.20. Различные компоненты UISlider

      Для каждого из этих компонентов UISlider существуют метод и свойство, позволяющие изменять внешний вид слайдера. Простейшими из этих свойств являются те, которые позволяют изменять оттенок соответствующего СКАЧАТЬ