Подтвердить что ты не робот

Невозможно сделать выходное соединение с ограничением в IB

Я запускаю XCode 5 с iOS 7. Мне нужно динамически изменять ограничение высоты UITextView до его компоновки. Я видел много сообщений о том, что это можно сделать, установив выходное соединение из ограничения в IB в исходный код. Я пытаюсь сделать соединение с выходом ограничения в IB в файл заголовка класса owning, но я не могу установить соединение. IB не "выделяет", когда перетаскиваю файл заголовка, как это происходит при выполнении соединений от других объектов, таких как кнопки и т.д.

Кто-нибудь сталкивался с этим раньше? Вся помощь приветствуется.

4b9b3361

Ответ 1

Вот картина того, как я это делаю. Я управляю перетаскиванием из ограничения в файл заголовка.

enter image description here

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

enter image description here

Ответ 2

Вы можете сделать выходное соединение:

  • Открытие помощника редактора, а затем ctrl + перетащите текстовое изображение в соответствующий файл заголовка. Вы должны увидеть свойство, созданное для текстового представления.

  • Вручную введите @property(nonatomic,retain)IBOutlet UITextField *yourTextField;. Откройте редактор-помощник, перетащите из маленького пустого круга (слева в свойство) в соответствующий элемент управления в контроллере представления.

Если вы все еще не можете установить соединение, очистите, сохраните проект и повторите попытку.

Ответ 3

Вы пытаетесь создать соединение в классе UIView? Кажется, вы можете создать соединение только в классе UIViewController, связанном с этой сценой в вашей раскадровке.

Таким образом, ваше обходное решение, вероятно, правильно, если вы хотите сделать это из самого представления.

Ответ 4

Я думаю, что опаздываю на этот ответ, но, возможно, стоит написать его. У меня была аналогичная проблема. Я неправильно настроил владельца файла для представления. Вы можете выполнить простой тест с помощью помощника редактора. Если помощник редактора не позволяет выбрать автоматический выбор для контроллера вида, это означает, что вы неправильно настроили владельца файла. Убедитесь, что viewcontroller имеет то же имя .xib файла (что часто бывает).

Это позволит вам подключить все ваши IBOutlets, включая ограничения.

Ответ 5

Хорошо, до сих пор не удается установить соединение с IB. Тем не менее, я работал над проблемой, создав ограничение ширины текста в виде заполнителя в IB, которое я заменю на NSLayoutConstraint, который я создаю в представлении initWithCoder. Я поддерживаю ссылку на созданное ограничение и изменяю его "постоянное" свойство по мере необходимости.

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