2016-11-01 6 views
-1

Может кто-нибудь сказать мне, почему ни одна из кнопок в разделе «Просмотр лицензионного соглашения» UIView в моем .xib-файле не запускает действие? Кажется, что объект Scrollview испортил поведение. Когда кнопки находятся непосредственно под объектом «Просмотр прокрутки» (в отличие от объекта UIView «Просмотр лицензионного соглашения»), они функционируют должным образом. Но мне нужно сгруппировать мои кнопки под UIViews, как показано в иерархии представлений ниже.Кнопки/Ссылки под объектом вида в .xib-файле не отвечают

Вот вид макета:

enter image description here

Вот моя точка зрения иерархии:

enter image description here

Вот соответствующий .m файл:

@interface MYViewController() 
    - (IBAction)licenseAgreementPressed:(id)sender; 
    - (IBAction)legalDisclaimerPressed:(id)sender; 
    - (IBAction)privacyStatementPressed:(id)sender; 

    @property (strong, nonatomic) IBOutlet UIView *licenseAgreementView; 
    @property (weak, nonatomic) IBOutlet UIButton *legalDisclaimerButton; 
    @property (strong, nonatomic) IBOutlet UIButton *privacyStatementButton; 
@end 

@implementation MYViewController 
- (IBAction)licenseAgreementPressed:(id)sender 
{ 
    NSLog(@"Pressed A"); 
} 

- (IBAction)legalDisclaimerPressed:(id)sender 
{ 
    NSLog(@"Pressed B"); 
} 

- (IBAction)privacyStatementPressed:(id)sender 
{ 
    NSLog(@"Pressed C"); 
} 
@end 
+0

подключения IBAction правильно ли? Загружен ли мнение? Вы установили владельца файла вида? Пожалуйста, предоставьте более подробную информацию. –

ответ

0

Таким образом, проблема заключалась в том, что ссылки, кнопки и текстовые поля на самом деле не были расположены в границах, указанных родительскими представлениями, поскольку исходный .xib-файл не имел требуемых ограничений, закрепленных за этими элементами. Я обнаружил это, установив флажок «clip to bounds» в панели Attributes Inspector. Всякий раз, когда был установлен флажок «clip to bounds», приложение не отображало ни один из указанных выше объектов вида; Я мог видеть только ссылки, кнопки и текстовые поля, когда «clip to bounds» был снят, но, к сожалению, эти элементы не были доступны для просмотра в этой точке. Однако, установив необходимые ограничения, элементы представления были правильно размещены в пределах их родительских представлений, а текстовые поля, метки и кнопки стали интерактивными. Я прилагаю ограничения, которые я использовал для решения проблемы. Примечание. Ограничения, которые не расширены, включают ограничение по высоте.

enter image description here

0

Убедитесь, что вы сделали связь между IBAction (код) и UIButton (в XIb), пожалуйста, проверьте этот пост How do I name and link an IBAction button created in a storyboard

+0

Соединения прекрасные. Пожалуйста, ознакомьтесь с обновленным вопросом для получения дополнительной информации. Спасибо! – Vee

+0

Не имеет значения, в какой иерархии представлений вы кладете кнопки, если соединения правильные, он должен работать. –

+0

Также убедитесь, что наложения других точек не отображаются, поэтому взаимодействие кнопок отключено. проверьте https://www.raywenderlich.com/98356/view-debugging-in-xcode-6 как –

0

ли вы подключаете свои действия элементов в интерфейсе строителя контролем-перетаскивании? Если ваши действия подключены, вы увидите маленький заполненный круг слева от строки в вашем редакторе. circles Для получения дополнительной информации о том, как подключить элементы раскадровки к вашему коду, отметьте this tutorial.

+0

Да, они правильно подключены. Пожалуйста, ознакомьтесь с обновленным вопросом для получения дополнительной информации. Спасибо! – Vee

0

Это потому, что ни одна из кнопок не является внутри границ вид лицензионного соглашения. Кнопка вне границ надзора не подлежит обновлению.

+0

Можете ли вы объяснить еще один пример и/или предоставить пример решения? Благодаря! – Vee

+0

_You_ - это тот, кто не показывает скриншот работающего приложения или вашего xib-файла и не объясняет, как эти представления получают _sized_, когда они помещаются в интерфейс. Вам нужно объяснить, а не мне. – matt