Получите привязки в SuperView после добавления SubView

Начиная с шаблона iOS Single View в XCode 4.2, я добавил второе представление к моей .xib, кнопке «Супер» на главном представлении и кнопке «Sub» в subView. Я хотел бы иметь возможность нажимать обе кнопки.

В интерфейсе контроллера вида я добавил:

IBOutlet UIView *subView; 

Затем, на мой взгляд, метод viewDidLoad контроллера, я добавляю:

  [self.view addSubview:subView]; 

после [super viewDidLoad];

SubView имеет фон «clear», и оба окна имеют значение «User Interaction Enabled».

Когда я запускаю приложение, кнопка «Суб» может быть нажата. Я могу видеть кнопку «Супер», но, похоже, она не получает прикосновений, которые должны быть по умолчанию, насколько я могу судить по документации Apple (прозрачные области представления должны позволять касаниям проходить).

2 Solutions collect form web for “Получите привязки в SuperView после добавления SubView”

Это не то, что случается, если вы ставите представление перед другим, вид сзади не получит прикосновения.

Вы можете отключить взаимодействие пользователя в режиме просмотра fron, поэтому обратная связь получит прикосновение.

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

Я не знаю, что вы пытаетесь сделать, но я думаю, вы, вероятно, можете сделать лучший вариант, чем это.

Вы можете взглянуть на этот вопрос здесь в stackoverflow: обнаружить прикосновение к виду за другим видом?

РЕДАКТИРОВАТЬ:

У вас есть много вариантов для отправки прикосновений.

Вы можете сделать что-то вроде (это не очень хороший вариант):

 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ for (UITouch *touch in touches) { for(UIView* v in self.view.subviews){ if([v pointInside:[touch locationInView:self.view] withEvent:event]){ if ([v isKindOfClass:[UIButton class]]) { [(UIButton*)v sendActionsForControlEvents:UIControlEventTouchUpInside]; } } } } } 

Вы также можете отредактировать рамку просмотра так, чтобы представление не закрывало кнопку.

Вы также можете принести вам кнопку на переднем плане нового подсмотра, сделав что-то вроде:

 [self.view addSubview:yourSubview]; [self.view bringSubviewToFront:yourButton]; 

Вам просто нужно использовать свое творчество;)

Ваш второй вид – размер содержимого (кнопка) или размер всего представления? вам может быть проще просто сделать ваш subview размером с объект, а не 320×480. затем выровняйте его через cgrectmake после добавления его в качестве подзаголовка.

это / путь / легче, чем пузыриться по различным касаниям, что становится немного кошмаром.

  • Выбор UITableViewCell над UITextView
  • что значит свойство с «слабым» атрибутом должно быть типа объекта «действительно означает?
  • импортировать файлы заголовков
  • Как рассчитать ширину и высоту NSString на UILabel
  • Получение каждого NSDate в этом месяце как NSString
  • Facebook iOS SDK 3.0 - сеанс не открыт
  • selectRowAtIndexPath из другого UIVIewController не работает
  • UITableView переупорядочивает, как приложение «Очистить»
  • Subview отображается вне границ родительского UIView
  • NSTextAttachment не отображается на CATextLayer
  • просмотр таблицы просмотра контроллера разделенного вида
  • Использование логики hitTest только для touchBegan и NOT распознавателей жестов
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.