2013-10-10 2 views
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]; 
} 

잘못된 위치 (애니메이션이없는 위치)에서 상호 작용할 수 있습니다. 또는 상호 작용없이 올바른 위치에 놓습니다.

답변

0

높이가 충분하지 않은 프레임을 설정하여 문제가 발생했습니다.

관련 문제