Связывание с помощью Interface Builder (для приложений iPhone)

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

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

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

У iPhone отсутствие поддержки привязок cocoa зафиксировано в Центр Apple dev. Это полезная страница в целом для чтения, если вы разработчик cocoa, начинающий разработку iPhone.

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