Làm thế nào chúng ta có thể thực hiện UIKeyboardTypeNumberPad để nó sẽ có một nút 'thực hiện'? Theo mặc định, nó không có.UIKeyboardTypeNumberPad mà không cần thực hiện nút
Trả lời
Nếu tôi không sai thì bạn muốn hỏi cách thêm nút "Xong" tùy chỉnh vào bàn phím cho UIKeyboardTypeNumberPad. Trong trường hợp đó, điều này có thể hữu ích. Khai báo một in.h UIButton * doneButton và thêm mã sau vào tập tin .m
- (void)addButtonToKeyboard {
// create custom button
if (doneButton == nil) {
doneButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 163, 106, 53)];
}
else {
[doneButton setHidden:NO];
}
[doneButton addTarget:self action:@selector(doneButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard = nil;
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard found, add the button
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
[keyboard addSubview:doneButton];
} else {
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
}
- (void)doneButtonClicked:(id)Sender {
//Write your code whatever you want to do on done button tap
//Removing keyboard or something else
}
Tôi đang sử dụng như nhau trong ứng dụng của tôi và khung của nút được như vậy, điều chỉnh, Bạn do đó có thể gọi [tự addButtonToKeyboard] bất cứ khi nào bạn cần hiển thị nút xong trên bàn phím. UIKeyboardTypeNumberPad không có nút Xong nếu không.
Tôi gặp sự cố với dòng UIWindow * tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex: 1]; tôi nhận được mảng emty không có subviews – user784625
Trường hợp chính xác bạn nhận được một mảng trống. Trong trường hợp bàn phím có mặt trên màn hình, bạn sẽ nhận được ít nhất một mục trong mảng để chắc chắn là bàn phím. –
Tôi đã thêm cuộc gọi vào chức năng này một lần trong keyboardwilllshow và keyboarddidshow nhưng tôi vẫn nhận được mảng trống – user784625
Vấn đề iOS 5 được giải quyết. Cảm ơn rất nhiều.
Tôi gặp sự cố khi hiển thị nút Xong.
thay thế:
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
mà không hiển thị nút thực hiện trong iOS 5 ...
Với:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
[keyboard addSubview:doneButton];
} else {
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
Làm việc một điều trị. Bạn là một ngôi sao. Cảm ơn, Nicola ;-)
Nếu ai đó gặp sự cố khi nút DONE tiếp tục xuất hiện khi bạn cố gắng tải các loại bàn phím khác trong cùng một ứng dụng, tôi biết rất nhiều ứng dụng có vấn đề này. Dù sao, đây là cách tôi giải quyết điều này: Trong ViewController của bạn (cùng một bộ điều khiển xem mà bạn đã thêm nút DONE), hãy thêm mã này (như là) và nó sẽ giải quyết vấn đề của bạn với nút DONE tiếp tục xuất hiện lại. Hy vọng nó sẽ giúp ích cho một số người.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidHideNotification object:nil];
} else {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
}
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
//Call this method
- (void)keyboardWillShow:(NSNotification *)note {
UIButton *doneButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 163, 106, 53)];
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"Done.png"] forState:UIControlStateNormal];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
[keyboard addSubview:doneButton];
}
else {
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
}
- 1. Thực hiện mà không cần hệ điều hành
- 2. JAX-RS - JSON mà không cần nút gốc
- 3. Accelerator (key mnemonic) được thực hiện mà không cần nhấn phím ALT
- 4. Tạo nút tròn trong iOS7 mà không cần hình ảnh
- 5. Capybara - Gửi biểu mẫu mà không cần nút
- 6. Thông số chung không cần thực hiện
- 7. bootstrap html nút nhấp chuột mà không cần nộp mẫu
- 8. Bạn có thể thực hiện TFS mà không cần không gian làm việc?
- 9. button_to mà không cần gửi
- 10. Thêm nút thường xuyên bên trong hình thức mà không thực hiện một trình
- 11. Xác thực Twitter mà không cần sử dụng pin
- 12. Google API: Cách xác thực mà không cần chuyển hướng?
- 13. Thực hiện một giao diện chung mà không cần tham số kiểu
- 14. Có thể thực hiện thông báo đẩy mà không cần APNS
- 15. Cách tốt nhất để thực hiện init mà không cần lặp lại mã?
- 16. Nhận url tải webview mới nhất mà không cần thực hiện một webView.goBack() trong Android
- 17. Thực hiện lệnh PHP và đầu ra nhật ký mà không cần chờ đợi
- 18. Thực hiện mà không cần cam kết một phần "Mercurial way"
- 19. Làm thế nào để thực hiện tuần tự hóa Java mà không cần phản ánh?
- 20. Thực hiện MVVM trong WPF mà không cần sử dụng System.Windows.Input.ICommand
- 21. Thực hiện thao tác grep trong các tệp tar mà không cần giải nén
- 22. Thực hiện JS khi tải trang mà không cần sử dụng jQuery
- 23. Thực hiện chạy exe py2exe mà không cần bàn điều khiển?
- 24. Cách truy xuất @ (TargetOutputs) mà không cần thực hiện bản dựng
- 25. Thực hiện yêu cầu POST trong Selenium mà không cần điền vào biểu mẫu?
- 26. cài đặt lệnh make mà không cần phải thực hiện (mac os 10.5)
- 27. Cách thực hiện điều này mà không cần thừa kế nhiều
- 28. Thực hiện đối tượng Trì hoãn mà không cần sử dụng jquery
- 29. cách thực hiện yêu cầu kéo * mà không cần * tài khoản github?
- 30. Xác thực bảo mật mà không cần SSL
Ý anh là gì bằng cách thực hiện bàn phím, Bạn muốn ẩn bàn phím hoặc bất cứ điều elss. – Ishu
Không ... Chỉ cần sẽ không có nút được thực hiện trong bàn phím – Abhinav
Bàn phím số thân yêu không có nút Xong. Vì vậy, câu hỏi của bạn không hợp lệ. – Ishu