1

ストーリーボードには、モーダルセグエをトリガーするボタンがあります。それを動かすアニメーションがトリガーされない場合は、意図したとおりに機能します。ただし、それを動かすアニメーションをトリガーする場合、セグエはトリガーされません

追加情報:

  • アニメーションは、ユーザーがviewボタンの直接のスーパービューをタップするとトリガーされます
  • アニメーションはキーボードイベントと組み合わせて実行されるため、キーボードをview「フォロー」します。セグエはストーリーボードを介して作成されます
  • 私もこの方法を使って試しましたが[UIView beginAnimations:context:]、それでもうまくいきませんでした。

コード:

[[NSNotificationCenter defaultCenter] addObserverForName:UIKeyboardWillHideNotification object:nil queue:nil usingBlock:^(NSNotification *notification){
    CGRect keyboardFrame = [notification.userInfo[UIKeyboardFrameBeginUserInfoKey] CGRectValue];
    CGRect newFrame = view.frame;
    //newFrame.origin.y += offset > keyboardFrame.size.height  ?  keyboardFrame.size.height  :  keyboardFrame.size.height - offset;
    UIView animateWithDuration:.25 delay:0 options:(UIViewAnimationCurveLinear | UIViewAnimationOptionAllowUserInteraction) animations:^{
        view.frame = newFrame;
    }completion:nil];
}];
4

0 に答える 0