0

さまざまなセルの長押しジェスチャ認識機能を備えた UICollectionView があります。

2 つのボタンがあるサブビューがあります。

私のコードがこれである場合、サブビューを操作できます

- (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 に答える