Окна

Mac OS X

Приложение отображает окно на экране, которым необходимо управлять и координировать. Объекту окна соответствует не более одного окна на экране. Окно выполняет две основных функции: обеспечивает область, в которой могут быть размещены виды и принимать и распределять события, которые пользователь посылает через мышь и клавиатуру. Термин окна иногда относится к объекту приложения и иногда к окну сервера окна устройства. Панели представляют собой особый вид окон, как правило, выступающих вспомогательными в приложении, такие как окна утилит.

Создание окна в Xcode

Если Вы создали новый проект Cocoa Application, то автоматически было создано и основное окно приложения. Для того, чтобы добавить новое окно в Вашу программу, необходимо выполнить следующую последовантельность действий:

  • Меню: File -> New -> New File
  • В появившемся диалоге выбираем Mac OS X -> User Interface -> Window
  • Далее введите наименование файла для сохранения (лучше всего для удобства чтения кода использовать наименование класса, который будет контролировать данное окно)
  • Меню: File -> New -> New File
  • В появившемся диалоге выбираем Mac OS X -> Cocoa -> Objective-C class -> NSWindowController (в качестве подкласса контроллера нашего нового окна.)
  • Вводим наименование класса оно-же и имя файлов, с реализацией.

Итак мы получили окно в nib файле и реализацию класса контроллера окна.

Теперь необходимо связать полученное окно с контроллером, для этого выбираем в панели навигации проекта xib файл с окном, в панели Placeholders выбираем File's Owner

xcode navi project files

В инспекторе свойств выбираем identity inspector и в Class вводим наименование класса контроллера.

xcode navi File's Owner

В указанном примере это класс Window1 и файл ресурсов xib (nib) Window1 соответственно.

Делегируем окно к классу

Чтобы связать класс контроллера окна непосредственно с окном в nib файле (делегировать можно и позже програмным методом), делегируем его следующим способом:

В навигаторе xib файла выбераем объект окно, нажимаем правую кнопку мыши, выбираем delegate и соединяем с File's Owner как показано ниже

Mac OS delegate window

Теперь класс Window1 связан с файлом ресурсов Window1.xib и вызов [self window] вернет указатель на объект NSWindow окна Window1.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac