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

Читать онлайн.
Название iOS. Приемы программирования
Автор произведения Вандад Нахавандипур
Жанр Программирование
Серия Бестселлеры O’Reilly (Питер)
Издательство Программирование
Год выпуска 2014
isbn 978-5-496-01016-0



Скачать книгу

когда мы закончили работу с оттенками переключателя, перейдем к оформлению внешнего вида переключателя, связанному с использованием изображений «включено» и «выключено». При этом не забываем, что заказные изображения «включено» и «выключено» поддерживаются только в iOS 6 и старше. iOS 7 игнорирует такие изображения и при оформлении внешнего вида работает только с оттенками. Как было указано ранее, оба варианта изображения на переключателе – как для включенного, так и для выключенного состояния – должны иметь ширину 77 точек и высоту 22 точки. Поэтому я подготовил новый комплект таких изображений (для работы с обычным и сетчатым дисплеем). Я добавил их в мой проект в Xcode под названиями [email protected] и [email protected] (для сетчатого дисплея), а также поместил здесь разновидности изображений для обычного дисплея. Теперь нам предстоит создать переключатель, но присвоить ему заказные изображения «включено» и «выключено». Для этого воспользуемся следующими свойствами UISwitch:

       onImage – как указано ранее, это изображение будет использоваться, когда переключатель включен;

      • offImage – это изображение соответствует переключателю в состоянии «выключено».

      А вот код, позволяющий добиться такого эффекта:

      – (void)viewDidLoad

      {

      [super viewDidLoad];

      /* Создаем переключатель */

      self.mainSwitch = [[UISwitch alloc] initWithFrame: CGRectZero];

      self.mainSwitch.center = self.view.center;

      /* Убеждаемся, что переключатель не выглядит размытым в iOS-эмуляторе */

      self.mainSwitch.frame = [self roundedValuesInRect: self.mainSwitch.frame];

      [self.view addSubview: self.mainSwitch];

      /* Оформляем переключатель */

      self.mainSwitch.onImage = [UIImage imageNamed:@"On"];

      self.mainSwitch.offImage = [UIImage imageNamed:@"Off"];

      }

      См. также

      Раздел 1.2.

      1.4. Выбор значений с помощью UIPickerView

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

      Необходимо предоставить пользователю приложения возможность выбирать значения из списка.

      Решение

      Воспользуйтесь классом UIPickerView.

      Обсуждение

      Вид выбора (Picker View) – это элемент графического интерфейса, позволяющий отображать для пользователей списки значений, из которых пользователь затем может выбрать одно. В разделе Timer (Таймер) приложения Clock (Часы) в iPhone мы видим именно такой пример (рис. 1.10).

      Рис. 1.10. Вид выбора, расположенный в верхней части экрана

      Как видите, в отдельно взятом виде выбора содержится два независимых визуальных элемента, один слева, другой справа. В левой части вида отображаются часы (0, 1, 2 и т. д.), а в правой – минуты (18, 19, 20, 21, 22 и т. д.). Два этих элемента называются компонентами. В каждом компоненте есть строки (Rows). На самом деле любой элемент в любом компоненте представлен строкой, как мы вскоре увидим. Например, в левом компоненте 0 hours – это строка, 1 – это строка и т. д.

      Создадим вид выбора в виде нашего контроллера. Если вы не знаете, где находится исходный код того вида, в котором расположен контроллер, обратитесь к разделу 1.2, где обсуждается этот вопрос.

      Сначала перейдем к файлу реализации. m контроллера нашего вида и определим в нем вид выбора:

      @interface ViewController ()

      @property (nonatomic, strong) UIPickerView *myPicker;

      @end

      @implementation ViewController

      

      А