キーボードで表示されたビューを開いていますが、バックボタンをクリックするとビューが右からスライドし、ビューが消えたときだけキーボードがスライドします。 viewwilldisappearでresignFirstResponderを呼び出すと、ビューが同時にスライドしながらキーボードが右にスライドします。 ビューでキーボードをスライドさせることはできますか?IPhones - キーボードをビューでスライドさせる
答えて
resignFirstresponder
をviewDidDisappear
の方法で貼り付けてください。
**Set notificatins and use these methods.....Hope it solve problem:
First of all set your whole view in scrollView**
-(void)keyboardDidHide:(NSNotification *)notif
{
NSTimeInterval duration = 0.4;
[UIView animateWithDuration:duration animations:
^{
scrollView.contentSize=CGSizeMake(320,scrollOriginalFrame.size.height);
}];
keyboardVisible=NO;
}
-(void)keyboardDidShow:(NSNotification *)notif
{
scrollView.contentSize=CGSizeMake(self.view.frame.size.width, scrollOriginalFrame.size.height+235);
NSTimeInterval duration = 0.4;
[UIView animateWithDuration:duration animations:
^{
[scrollView setContentOffset:CGPointMake(0,162) animated:YES];
}];
keyboardVisible=YES;
}
**In viewDidLoad() add this**
//keyboard
scrollOriginalFrame=self.view.frame;
scrollOriginalFrame.size.height-=103;
scrollView.contentSize=scrollOriginalFrame.size;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardWillHideNotification object:nil];
keyboardVisible=NO;
私たちはスクロールビューを持っていないようです。キーボードのスライドが始まると、keyboardDidHideが呼び出され、その時点で既にビューは消えています。 – gage
スクロールビューで表示し、スクロールビューを移動します。実際の表示ではありません –
あなたが欲しいものを行うための標準的な方法はありませんが、...
基本的には、キーボードが他のすべてのウィンドウの上にそれ自身のUIWindowに提示だけでビューが、あります。
理論的には、キーボードビューを見つけて希望の方向に移動するだけです。私はあなたがtransform
プロパティを使用し、frame
を台無しにしないと思う。
Class keyboardClass = NSClassFromString(@"UIPeripheralHostView");
for (UIWindow *window in [[UIApplication sharedApplication] windows]) {
for (UIView *subview in window.subviews) {
if ([subview isKindOfClass:keyboardClass]) {
// that's keyboard
}
}
}
は編集:あなたはUINavigationControllerの話をしている場合は
をし、それがプッシュ/ポップ時にデフォルトスライドアニメーションです、そして、あなたは自分のテキストビューにviewWillAppear
でviewDidDisappear
でresignFirstResponder
とbecomeFirstResponder
を起動する必要があります。そうすれば、あなたのキーボードはあなたの視界に沿ってスライドします。
これは動作しますが、まだ他の質問があります。キーボードは右スライドではなく、右下隅です。もう一度ビューに入ると、キーボードがスライドできます。 – gage
キーボードは、標準的なキーボード消滅プロセスの一部としてスライドします。私はあなたのviewWillDissapearメソッドでresignFirstResponderを呼び出すと思います。おそらく、キーボードの通知を観察し、元のアニメーション '[view.layer removeAllAnimations]'をキャンセルして自分のアニメーションを実行する必要があります。 –
removeallanimationsは、キーボードのスライドが下がるのを防ぐことはできません。システムはkeyboarddidhiddenの後でキーボードアニメーションの計算を実行しているようです。 – gage
私はこれをテストして、iOS 5.1で動作しますが、これは推奨動作ではないと思います。
for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows])
if ([[keyboardWindow description] hasPrefix:@"<UITextEffectsWindow"]) {
NSLog(@"%@", [keyboardWindow description]);
[UIWindow beginAnimations:@"fadeKeyboard" context:nil];
keyboardWindow.frame = CGRectMake(keyboardWindow.frame.origin.x + keyboardWindow.frame.size.width, keyboardWindow.frame.origin.y, keyboardWindow.frame.size.width, keyboardWindow.frame.size.height);
[UIWindow commitAnimations];
}
また、キーボードが非表示、または単に手動で上記のコードを使用しようとしているときを検出するために通知UIKeyboardWillHideNotificationを使用することができます。
- 1. Androidでビューをスライドさせる方法
- 2. ビューをスライドさせるには?
- 3. UIViewControllerを別のビューにスライドさせる
- 4. ipadのuisubviewとして水平ビューをスライドさせる方法
- 5. Android:ツールバーをRecyclerビューと共に上下にスライドさせる
- 6. ボタンをスライドさせる
- 7. iPhoneアプリのスワイプジェスチャでビューを水平にスライドさせる方法は?
- 8. キーボードをスライドさせるときにwebviewに同じ内容を保存させますか?
- 9. ListViewでアイテムをスライドさせる方法
- 10. Javascript - ボタンでdivをスライドさせる
- 11. androidでアクティビティをスライドさせる方法
- 12. drawRectで作成されたコンテンツのビューをアニメーション化(スライド)する:
- 13. メニューのサイドバーでスライドさせてスライドさせてください。html、css
- 14. キーボードでビュー(ボタン)をアニメ化する
- 15. UISwipeGestureRecognizerを使用してスライドするビューコントローラをスライドさせます。
- 16. jQuery - スライド以外の要素を「スライド」イベントにリッスンさせる
- 17. タブを左右にスライドさせる
- 18. jqueryアニメーションを前後にスライドさせる
- 19. DIVを別のDIVにスライドさせる
- 20. Android:フラグメントをスライドさせるには?
- 21. JSリストアイテムをスライドさせる方法
- 22. アニメーションUIStackViewを上からスライドさせる
- 23. スライドダウンメニューをスライドさせる方法は?
- 24. iPhone xCode | UIViewをスライドさせる
- 25. jQueryを使用して1つのdivをスライドさせ、他の表示divsをスライドさせる(コンテンツベースのナビゲーションをスライドさせる)
- 26. iOS別のビューの側面からUIView(メニュー)をスライドさせます
- 27. スライドを左にスライドさせ、親のホバーで右にスライドして内容を表示し続ける
- 28. jQueryのスライドdivを既に下にスライドさせていたら?
- 29. ボタンをスライドさせながら動作させる
- 30. ビューは、キーボードがiOSの
動作しません。 – gage
ここではresignfirstresponderを呼び出し、ビューが消えたときにビューのスライドアウトとキーボードのスライドアウトを行います。決してresignfirstresponderを呼び出さないでください。 – gage