Привязки с использованием Interface Builder (для приложений iPhone)

Как связать элемент управления iPhone SDK (скажем, UISlider) с помощью Interface Builder?

В отличие от обычных приложений Какао, вкладка привязок, кажется, отсутствует, когда iPhone-приложение XIB открывается с помощью Interface Builder

3 ответа

Решение

Объявите элемент управления как IBOutlet в вашем файле viewcontroller.h. В IB установите владельца файла для представления в качестве класса вашего viewcontroller (выберите владельца файла, в окне инспектора нажмите кнопку (i) и установите класс в качестве вашего viewcontroller). Теперь, когда выбран владелец файла, нажмите синюю кнопку с белая стрелка в окне инспектора. Свяжите IBOutlet для вашего UISlider с UISlider по вашему мнению.

Чтобы получить значение ползунка при его изменении, создайте метод в viewcontroller с типом возвращаемого значения IBAction. В окне инспектора, если вы подключите его к UISlider, он дает вам несколько вариантов выбора. Выберите параметр "Значение изменено". Теперь при каждом изменении значения ползунка будет вызываться ваш метод IBAction.

Надеюсь, это поможет.

Привязки какао недоступны в iPhone SDK. Вы должны делать все "вручную" так же, как раньше на Mac.

Отсутствие поддержки iPhone в привязке какао задокументировано в центре разработки Apple. В общем, это полезная страница, если вы разработчик Cocoa, начинающий разработку для iPhone.

Однако Key Value Observation (KVO) по-прежнему полностью поддерживается, но вам нужно будет выполнить те части, которые вы бы сделали с привязками вручную. Это делает представление отсортированных динамических списков элементов, например, в UITableView гораздо более болезненным, чем в Mac OS X, где вы просто подключаете NSArrayController. Смотрите также этот вопрос на SO.

Другие вопросы по тегам