回答
使用CGAffineTransform 至少從我的觀察和測試的操作系統版本之前4.0的需求來定義的變換, 你的搜索欄移動到一個可見部分OS 4.0和更高版本的OS正在照顧鍵盤定位。這就是爲什麼我在這裏設置Transform之前檢查systemVersion的原因。
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0) {
CGAffineTransform translate = CGAffineTransformMakeTranslation(xx.0, yy.0);//use x,y values
[self setTransform:translate];
}
您不能設置鍵盤的位置,您只能詢問鍵盤的位置並適當地組織其他視圖。
// Somewhere you need to register for keyboard notifications
- (void)viewDidLoad {
[super viewDidLoad];
// Register for keyboard notifications
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
//... do something
}
// At some point you need to unregister for notifications
- (void)viewWillHide {
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter removeObserver:self];
}
- (void)keyboardWasShown:(NSNotification*)aNotification
{
// Caution, this notification can be sent even when the keyboard is already visible
// You'll want to check for and handle that situation
NSDictionary* info = [aNotification userInfo];
NSValue* aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
//... do something
}
-1;您還需要取消註冊dealloc *和* viewDidUnload中的通知(否則當您第二次加載視圖時,您將註冊兩次)。 – 2010-09-26 16:22:57
@tc。你是對的,但是出於錯誤的原因。通知中心不保留對觀察者的引用,所以如果您的課程被釋放,當通知中心嘗試向其發送通知時,您會崩潰。我將添加適當的代碼。 – kubi 2010-09-26 17:10:07
我的理由完全是關於viewDidUnload。最後我檢查了一下,如果你註冊兩次,會得到雙重通知,如果有內存警告,這可能會導致奇怪的動畫。 – 2010-09-26 22:12:40
- 1. UIGraphicsBeginImageContext如何設置位置?
- 2. 如何設置BoundingRectangle位置
- 3. 如何設置位?
- 4. 如何在JFrame的任何位置設置按鈕的位置
- 5. 故障設置UIKeyboard附件視圖
- 6. 如何設置nginx.conf的「位置」
- 7. 如何設置水龍頭的位置
- 8. 如何更改Firefox的位置設置
- 9. 如何設置ASP.NET Ajax ModalPopupExtender的位置?
- 10. 如何設置一個JRadioButton的位置?
- 11. 如何設置QMainWindow的位置?
- 12. 如何設置在層CC3Node的位置?
- 13. 如何設置Entry Scollbar的位置?
- 14. 如何設置UIViewController標題的位置?
- 15. 我該如何設置pegman的位置?
- 16. CSS - 如何設置UL的位置LI
- 17. 如何設置UICollectionViewCell的位置?
- 18. 如何設置j按鈕的位置?
- 19. 如何設置廣播組的位置
- 20. 如何設置NSPopUpButton的菜單位置?
- 21. 如何設置UIScrollView的滾動位置?
- 22. 如何設置Fancybox的位置
- 23. 如何找出cookie的設置位置?
- 24. 如何設置MediaElement的位置?
- 25. 如何設置所需的位置scrollpane?
- 26. 如何設置對話框的位置?
- 27. 如何設置datepicker的顯示位置?
- 28. 如何設置UIImageView的位置?
- 29. 如何設置WPF窗口的位置?
- 30. 如何爲整個應用程序設置UIKeyboard風格?
謝謝但仍然留下其他問題。 – jarryd 2010-09-26 16:28:35
還有什麼其他問題? – Emil 2010-09-26 17:50:18
什麼問題......? – kthorat 2010-09-26 19:30:45