Привязки с использованием Interface Builder (для приложений iPhone) - PullRequest
10 голосов
/ 27 декабря 2008

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

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

Ответы [ 3 ]

20 голосов
/ 27 декабря 2008

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

5 голосов
/ 27 декабря 2008

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

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

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

3 голосов
/ 15 ноября 2009

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

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

...