0

我有一个带有长按手势识别器的 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];
}

我可以将它放在错误的位置(也没有动画)并且能够进行交互。或者让它在没有交互的情况下处于正确的位置。

4

1 回答 1

0

问题是由于我设置的框架没有足够的高度引起的。

于 2013-10-14T11:14:59.313 回答