Vâng, tôi đã trải qua một số goggling khá trước khi gửi câu hỏi này nhưng đã không thành công trong việc tìm kiếm câu trả lời đúng. Tôi không thể giải thích toàn bộ kịch bản ứng dụng của mình ở đây vì nó phức tạp một chút để giải thích. Vì vậy, hãy để tôi làm cho câu hỏi này rất đơn giản. Làm cách nào tôi có thể thay đổi khung của UIKeyBoard
.i.e. Tôi muốn UIKeyBoard xoay hoặc dịch 90 độ trở lên để hỗ trợ vị trí xem của tôi. Có cách nào giúp tôi không?Làm thế nào để thay đổi khung của UIKeyBoard lập trình trong iOS
Trả lời
Bạn không thể thay đổi bàn phím mặc định. Tuy nhiên, bạn có thể tạo UIView tùy chỉnh để sử dụng làm bàn phím thay thế bằng cách đặt nó là inputView
trên, ví dụ: UITextField.
Trong khi tạo bàn phím tùy chỉnh mất một chút thời gian, nó hoạt động tốt với các phiên bản iOS cũ hơn (inputView
trên UITextField có sẵn trong iOS 3.2 trở lên) và hỗ trợ bàn phím vật lý (bàn phím được ẩn tự động nếu bàn phím được kết nối) .
Dưới đây là một số mẫu mã để tạo ra một bàn phím dọc:
Interface:
#import <UIKit/UIKit.h>
@interface CustomKeyboardView : UIView
@property (nonatomic, strong) UIView *innerInputView;
@property (nonatomic, strong) UIView *underlayingView;
- (id)initForUnderlayingView:(UIView*)underlayingView;
@end
Thực hiện:
#import "CustomKeyboardView.h"
@implementation CustomKeyboardView
@synthesize innerInputView=_innerInputView;
@synthesize underlayingView=_underlayingView;
- (id)initForUnderlayingView:(UIView*)underlayingView
{
// Init a CustomKeyboardView with the size of the underlying view
// You might want to set an autoresizingMask on the innerInputView.
self = [super initWithFrame:underlayingView.bounds];
if (self)
{
self.underlayingView = underlayingView;
// Create the UIView that will contain the actual keyboard
self.innerInputView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, underlayingView.bounds.size.height)];
// You would need to add your custom buttons to this view; for this example, it's just red
self.innerInputView.backgroundColor = [UIColor redColor];
[self addSubview:self.innerInputView];
}
return self;
}
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
// A hitTest is executed whenever the user touches this UIView or any of its subviews.
id hitTest = [super hitTest:point withEvent:event];
// Since we want to ignore any clicks on the "transparent" part (this view), we execute another hitTest on the underlying view.
if (hitTest == self)
{
return [self.underlayingView hitTest:point withEvent:nil];
}
return hitTest;
}
@end
Sử dụng bàn phím tùy chỉnh trong một số UIViewController:
- (void)viewDidLoad
{
[super viewDidLoad];
CustomKeyboardView *customKeyboard = [[CustomKeyboardView alloc] initForUnderlayingView:self.view];
textField.inputView = customKeyboard;
}
Âm thanh tuyệt vời .. Hãy để tôi thử điều này ... BTW +1 :) –
- 1. Làm thế nào để thay đổi thuộc tính textLabel trong UIButton theo lập trình trong iOS?
- 2. iOS: Cách truy cập `UIKeyboard`?
- 3. Làm thế nào để thay đổi văn bản của UIBarButtonItem theo lập trình?
- 4. Làm thế nào để thay đổi Tab (của một UITabViewController) lập trình?
- 5. iOS không thể thay đổi khung của UIButton
- 6. Làm cách nào để thay đổi khung textLabel của ô?
- 7. Làm thế nào tôi có thể thay đổi lập trình argspec của một hàm trong một trình trang trí python?
- 8. iOS Làm thế nào để làm mới ScrollView khi mô hình của nó thay đổi?
- 9. Có thể thay đổi UITextInputTraits khi đang xem UIKeyboard không?
- 10. Làm thế nào để thay đổi mức logback đăng nhập lập trình trong Java?
- 11. Làm thế nào để thiết lập các khung cell.imageview
- 12. Làm thế nào để lập trình sửa đổi một DataTemplate?
- 13. làm thế nào để thay đổi lề bố trí cho một ListView Android Lập trình
- 14. Làm thế nào để thay đổi mật khẩu người dùng Drupal theo lập trình?
- 15. Làm thế nào để thay đổi mức độ khai thác gỗ gốc lập trình
- 16. Làm thế nào để thay đổi kích thước của hình ảnh ngón tay cái của UISlider lập trình
- 17. Làm thế nào để thay đổi tiêu đề cửa sổ từ một khung trong javascript?
- 18. Làm thế nào để thay đổi hướng của khung hình [] khung được ghi thông qua gọi lại onPreviewFrame?
- 19. Làm thế nào để thay đổi thời gian chờ màn hình lập trình?
- 20. Làm thế nào để kích hoạt jquery Resizable thay đổi kích thước lập trình?
- 21. Làm cách nào để thay đổi mức thu phóng của bản đồ Google theo lập trình?
- 22. Thay đổi lập trình động
- 23. Lập trình thay đổi hoạt động của trình khởi chạy
- 24. Làm thế nào để phát hiện nút "backspace" của UIKeyboard touch trên UITextField?
- 25. Làm thế nào để thay đổi một biểu tượng của TextView theo chương trình?
- 26. Lập trình thay đổi chiều rộng của Nút trong android
- 27. Làm cách nào để thay thế chế độ xem theo lập trình trong Android?
- 28. Làm thế nào để thay đổi nền của UIWebView Scrolling?
- 29. Thay đổi màu nền của ActionBarSherlock lập trình
- 30. Làm thế nào để thay đổi các thẻ meta trong cách bố trí khung zend
Trong ios5 điều đó có sẵn.kiểm tra trong wwdc2011. – vishiphone
im nghĩa vụ phải hỗ trợ tất cả các thiết bị với ios 4.2 trở lên: ( –
Nhưng tôi nghĩ đó là phức tạp hơn Buddy tôi không biết về điều này xin lỗi – vishiphone