我有一个带有长按手势识别器的 UICollectionView 用于不同的单元格。
我有一个带有两个按钮的子视图。
如果我的代码是这样,则可以与子视图进行交互
- (IBAction)longPress:(UILongPressGestureRecognizer *)sender {
if (sender.state != UIGestureRecognizerStateBegan) {
return;
}
NSArray * views = [[NSBundle mainBundle] loadNibNamed:@"RoomEditIconOverlay" owner:self options:nil];
UIViewController * editViewController = [views objectAtIndex:0];
[self.view addSubview:editViewController.view];
[editViewController.view becomeFirstResponder];//Required
}
但是,如果我在任何时候设置框架,那么我只会与父母视图进行交互。
- (IBAction)longPress:(UILongPressGestureRecognizer *)sender {
if (sender.state != UIGestureRecognizerStateBegan) {
return;
}
NSArray * views = [[NSBundle mainBundle] loadNibNamed:@"RoomEditIconOverlay" owner:self options:nil];
UIViewController * editViewController = [views objectAtIndex:0];
[editViewController.view setFrame:CGRectMake(0, self.view.frame.size.height -500, self.view.frame.size.width ,168)];
[self.view addSubview:editViewController.view];
[editViewController.view becomeFirstResponder];
}
我可以将它放在错误的位置(也没有动画)并且能够进行交互。或者让它在没有交互的情况下处于正确的位置。