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

Чтение книги онлайн.

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

iOS. Приемы программирования - Вандад Нахавандипур Бестселлеры O’Reilly (Питер)

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

в коде. Решим эту задачу вторым способом. Итак, следующая проблема – определить, в каком классе разместить соответствующий код. Это должен быть класс View Controller (Контроллер вида), который мы еще не изучали, но, поскольку в этой главе мы создаем программу типа Single View Application (Приложение с единственным видом), файл реализации (.m) контроллера вида будет называться ViewController.m. Откроем этот файл.

      Создадим свойство типа UISwitch и назовем его mainSwitch:

      #import "ViewController.h"

      @interface ViewController ()

      @property (nonatomic, strong) UISwitch *mainSwitch;

      @end

      @implementation ViewController

      

      Теперь перейдем к файлу реализации контроллера вида (файлу. m) и синтезируем свойство mySwitch:

      #import "Creating_and_Using_Switches_with_UISwitchViewController.h"

      @implementation Creating_and_Using_Switches_with_UISwitchViewController

      @synthesize mySwitch;

      

      Можно продолжить и перейти к созданию переключателя. Найдем метод viewDidLoad в файле реализации нашего контроллера вида:

      – (void)viewDidLoad{

      [super viewDidLoad];

      }

      Создадим переключатель и поместим его в виде, в котором находится контроллер нашего вида:

      – (void)viewDidLoad{

      [super viewDidLoad];

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

      self.mainSwitch = [[UISwitch alloc] initWithFrame:

      CGRectMake(100, 100, 0, 0)];

      [self.view addSubview: self.mainSwitch];

      }

      Итак, мы выделили объект типа UISwitch и применили метод initWithFrame: для инициализации переключателя. Обратите внимание: параметр, который мы должны передать этому методу, относится к типу CGRect. CGRect определяет границы прямоугольника, отсчитывая их от точки с координатами (x; y), находящейся в левом верхнем углу прямоугольника, и также используя данные о его ширине и высоте. Можно создать CGRect, воспользовавшись встраиваемым методом CGRectMake, где первые два параметра, передаваемые методу, – это координаты (x; y), а следующие два – высота и ширина прямоугольника.

      Создав переключатель, мы просто добавляем его к виду нашего контроллера.

      Теперь запустим приложение на эмуляторе iPhone. На рис. 1.8 показано, что происходит.

      Рис. 1.8. Переключатель, размещенный в виде

      Как видите, по умолчанию переключатель находится в состоянии Off (Выкл.). Чтобы задать в качестве стандартного противоположное состояние, можно изменить значение свойства on экземпляра UISwitch. Или можно вызвать метод setOn:, относящийся к переключателю:

      [self.mySwitch setOn: YES];

      Мы можем немного облегчить работу пользователю, применив метод переключателя setOn: animated:. Параметр animated принимает логическое значение. Если логическое значение равно YES, то при переходе переключателя из состояния on в состояние off этот процесс будет анимироваться, а также будут анимироваться любые взаимодействия пользователя с переключателем.

      Очевидно, вы можете считывать информацию свойства on переключателя, чтобы узнавать, включен переключатель в данный момент или выключен. В качестве альтернативы можно пользоваться методом переключателя isOn:

      if ([self.mySwitch isOn]){

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