четверг, 26 июля 2012 г.

iPhone. View-based Application. Часть 1.

Выберите Xcode  > New Project  > iOS > Applications > View-based Application

Назовите ваше приложение: basic.

В итоге создастся шаблон вашего проекта.



Выберите файл basicViewController.xib.



Перетащите на экран текстовое поле TextField и растяните его по всей ширине экрана.




В секции placeholder данной текстового поля наберите: please type your name.



В итоге вы поместите эту надпись внутрь поля.



Теперь поместите на экран кнопку Button.



Дважды кликните по ней и введите ей название: OK.



Переместите на поле метку Label.




Растяните её по всей ширине экрана.



После этого дважды кликните по ней и удалите её название.



Теперь выберите файл basicViewController.h
Введите в него переменные IBOutlet для метки и текстового поля.
Синтезируйте эти свойства, указав nonatomic, retain. Эти параметры используются в 95% случаев для IBOutlet на iPhone.



Далее выберите файл basicViewController.m
Здесь синтезируйте методы установщики и получатели для введенных выше переменных и напишите что делает метод -(IBAction) doSomething.


Выберите файл basicViewController.xib
И свяжите переменные с элементами на экране, через File's Owner.
Кликните правой кнопкой мыши по File's Owner и увидите список ваших переменных и методов, введенных в файле basicViewController.h.



Свяжите кружки переменных и методов с объектами на экране.



При добавлении стрелки на кнопку OK вас спросят какой тип воздействия выбрать. Выберите Touch Up Inside.


Таким образом все переменные будут привязаны к элементам на экране.


Скомпилируйте проект, нажав на кнопку Run.
И протестируйте его.


Как видите, после ввода информации экранная клавиатура не убирается.
Для того, чтобы клавиатура убралась необходимо отредактировать файл basicViewController.m

Добавьте в метод -(IBAction) doSomething следующий код.
[txtName resignFirstResponder]; 



Благодаря этому методу, после нажатия на кнопку OK, уберется экранная клавиатура, вызванная кликом на текстовое поле txtName.

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

В файле basicViewController.m добавьте новый метод -(IBAction) makeKeyboardGoAway, который будет отвечать на клик по кнопке.


В файле basicViewController.h опишите, что делает новый метод -(IBAction) makeKeyboardGoAway.


Теперь перейдите в файл basicViewController.xib и добавьте на экран кнопку Round Rect Button.


Растяните кнопку на весь экран.


В Layout-меню выберите пункт Send To Back, для того, чтобы поместить кнопку за элементами экрана.


Теперь выберите данную кнопку среди элементов View, перейдите в инспектор её свойств и выберите Type Custom.


В результате кнопка станет серого цвета.

Теперь добавьте связь между кнопкой и методом -(IBAction) makeKeyboardGoAway. Кликните правой кнопкой мыши на File's Owner, и протяните полосу от точки метода до кнопки Custom Button среди элементов View. Среди методов кнопки выберите Touch Up Inside.


Скомпилируйте программу, нажав на кнопку Run и убедитесь, что теперь экранная клавиатура убирается, при нажатии вне её.

Но клавиатура не убирается с экрана, если на жать на ней кнопку return.

В файле basicViewController.xib кликните на текстовое поле ввода и в инспекторе его свойств в разделе Outlets найдите пункт delegate.

Комментариев нет:

Отправить комментарий