我的Webview帶有下面的工具欄。出現鍵盤時,我想在鍵盤上顯示工具欄。如何實現這一目標?如何在UIWebView上顯示鍵盤上方的工具欄
0
A
回答
1
下面是一個基本的架構來實現你想要的:
#import "ViewController.h"
@interface ViewController()
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(keyboardDidShowNotification:)
name: UIKeyboardDidShowNotification
object: nil];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(keyboardDidHideNotification:)
name: UIKeyboardDidHideNotification
object:nil];
}
-(void) keyboardDidShowNotification: (NSNotification *) notification {
NSDictionary *dict = [notification userInfo];
CGRect keyboardFrame = [dict[UIKeyboardFrameEndUserInfoKey] CGRectValue];
self.view.frame = CGRectMake(0,0,
self.view.frame.size.width,
keyboardFrame.origin.y);
}
-(void) keyboardDidHideNotification: (NSNotification *) notification {
self.view.frame = [UIApplication sharedApplication].keyWindow.frame;
}
-(void) dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
@end
希望它能幫助。
0
我沒有代碼示例,但用文字我可以給出一個提示如何做到這一點。 您需要爲工具欄和屏幕底部(或放置的任何位置)之間的高度創建NSLayoutConstraint
。 然後在出現鍵盤後,您需要計算鍵盤的高度並調整工具欄高度的佈局約束,以使其位於鍵盤上方。然後在鍵盤關閉時將其改回。
希望它有幫助!
相關問題
- 1. 在工具欄上方顯示鍵盤?
- 2. 在工具欄上方顯示鍵盤?
- 3. 如何顯示鍵盤上的工具欄中的鍵值
- 4. 工具欄不會顯示在鍵盤上方
- 5. 顯示ios鍵盤上方的建議工具欄
- 6. 鍵盤上方的工具欄未顯示 - iOS 11
- 7. 工具欄上方的數字鍵盤
- 8. 安卓工具欄在鍵盤顯示時向上移動
- 9. 在Tabbar上方顯示工具欄
- 10. 的iOS:工具欄上面的鍵盤
- 11. 目標C工具欄上的鍵盤
- 12. xCode 4.4上的新項目無法在UIWebView上顯示鍵盤
- 13. 如何在iOS8自定義鍵盤上添加工具欄?
- 14. 如何在Windows手機鍵盤上編寫工具欄?
- 15. 以編程方式在iPhone鍵盤上對齊工具欄
- 16. UIWebview用於顯示工具欄的GestureRecognizer
- 17. 如何顯示鍵盤上的標籤欄時出現在iphone
- 18. 未在MailController上顯示的工具欄
- 19. 如何移動UITextField在鍵盤上方顯示文本,同時在工具欄內的UITextField中輸入
- 20. Xamarin.iOS:移動鍵盤上方的工具欄
- 21. 隱藏iPhone鍵盤上方的工具欄,PhoneGap
- 22. 如何爲uiwebview強制顯示鍵盤
- 23. 如何在Qt上顯示鍵盤?
- 24. 如何在iOS8上顯示鍵盤
- 25. 在按鈕上方顯示鍵盤
- 26. 在鍵盤上方顯示吐司
- 27. 在鍵盤上方顯示Android SnackBar?
- 28. 如何解除UIWebView上的鍵盤?
- 29. iPad UIWebView操作工具欄顯示
- 30. UIWebView中不顯示鍵盤
取決於您如何定義佈局。如果你使用的是自動佈局,那麼我想你有一個約束將工具欄的底部粘貼到主視圖的底部。然後,您可以在鍵盤顯示時更改此約束的常量。如果您使用純粹的框架,則可以在鍵盤顯示時更改工具欄的y原點。 要檢測鍵盤顯示/關閉的時間,請參閱:http://stackoverflow.com/a/4374515/3844377 – Randy
我正在使用Autolayout。你能指導如何在鍵盤出現時改變約束嗎? – Signcodeindie
[如何在鍵盤上添加ToolBar?]可能的重複?(http://stackoverflow.com/questions/23904848/how-to-add-toolbar-above-keyboard) –