ストーリーボードには、モーダルセグエをトリガーするボタンがあります。それを動かすアニメーションがトリガーされない場合は、意図したとおりに機能します。ただし、それを動かすアニメーションをトリガーする場合、セグエはトリガーされません。
追加情報:
- アニメーションは、ユーザーが
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];
}];