#ios #objective-c
#iOS #objective-c
Вопрос:
Все это работало, пока я использовал Xcode 6.4. Я установил macOS Sierra и Xcode 8 на свой компьютер, и это стало неисправным.
У меня есть Viewcontroller (vc1) с UIView на нем. Внутри этого UIView я загружаю другой Viewcontroller (vc2).
Теперь взаимодействия с кнопками на vc2 больше не обрабатываются. Я добавил новые кнопки и методы в качестве проверки работоспособности, и они также не получают сигналы нажатия. Убедился, что все они были подключены в XIB, и так оно и есть.
Кто-нибудь сталкивался с этим раньше и знал решение?
Большое спасибо, C
Комментарии:
1. Вы загружали свой Vc2 как subview или как childViewController?
Ответ №1:
Должно быть, проблема с вашим фреймом Vc2.
Попробуйте установить фрейм вашего Vc2 вручную, как показано ниже. код.
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:NULL];
SecondVC *Vc = [sb instantiateViewControllerWithIdentifier:@"idSecondVC"];
Vc.view.frame =CGRectMake(0, 0, self.containerVw.frame.size.width,self.containerVw.frame.size.height);
[self.containerVw addSubview:Vc.view];
[self addChildViewController:Vc];//adding your Vc2 as a childViewController
containerVw -> Ваш пользовательский интерфейс Vc1, в который вы добавляете свой Vc2 в качестве подвида.
Комментарии:
1. [self.myUIView addSubview:childViewController.view]; self. UIView — это UIView, который является свойством Vc1. childViewController.view — это Vc2.
2. Спасибо, Радж, установка рамки устранила проблему. Просто обратите внимание, что эта проблема появилась только при переходе с Xcode 6.4 на Xcode 8. Если я переместил файл .xib из старой копии проекта, который никогда не открывался в Xcode8, и не открывал сам файл в Xcode8, просто создал проект, кнопка сработала. Открытие xib привело к внесению некоторых изменений и появлению проблемы.
3. @Code Похоже, это странная проблема с Xcode8, хотя я не сталкивался с такими проблемами, но спасибо за информацию.