我有一个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];
}
我可以将它置于错误的位置(也没有动画)并且能够进行交互。或者让它处于正确的位置,没有互动。
答案 0 :(得分:0)
问题是由于我设置的框架高度不够造成的。