2012-03-23 33 views

Trả lời

1

UIwebview không thể chỉnh sửa được và bạn không thể trả lời trước tiên. Trường hợp như bạn có thể sử dụng Javascripts cho mục đích đó, hãy thử ra câu trả lời này

UIWebView with contentEditable (html editing), first responder handling?

+0

Cảm ơn bạn, tôi đã đặt nội dung html thành có thể chỉnh sửa bằng javascript. Nhưng tôi không thể để cho UIWebView được tập trung. Và liên kết mà bạn cung cấp không có câu trả lời về việc trở thành người trả lời đầu tiên trong UIWebView. Bạn có thể cho tôi một số mã mẫu về điều này không? – tangqiaoboy

+0

jScriptString = [NSString stringWithFormat: @ "var field = document.activeElement;" "field.value = '% @';", symbol.data]; [myWebView stringByEvaluatingJavaScriptFromString: jScriptString]; jScriptString = [NSString stringWithFormat: @ "document.activeElement.form.submit();"]; [myWebView stringByEvaluatingJavaScriptFromString: jScriptString]; –

1

cần thiết "Visible tại Launch" hộp kiểm trong bạn đối tượng cửa sổ - bàn phím sẽ hiển thị automaticaly trên lĩnh vực đầu vào

8

Đây là bây giờ có thể trong iOS 6. Xem boolean keyboardDisplayRequiresUserAction trong UIWebView. Sau khi được đặt thành NO, bạn có thể sử dụng focus() để đặt con trỏ.

+0

Điều này đặt nó vào trọng tâm, nhưng không thực sự đưa lên bàn phím. – scord

+0

Đặt giá trị này thành NO, có thể đặt con trỏ và đưa con trỏ lên Javascript. Bạn có thể đặt .focus() trên phần tử và bàn phím sẽ xuất hiện. Tuy nhiên, không có tùy chọn tương tự như vậy tồn tại cho WkWebView. – eliajf

2

Trong iOS 6> bạn cần 1) đặt chế độ xem web thành bàn phímDisplayRequiresUserAction = NO và 2) tập trung cuộc gọi. Đây là mã:

self.webView.keyboardDisplayRequiresUserAction = NO; // put in viewDidLoad 

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
     [self.webView 
     stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].focus()"]; 
    return YES; 
} 

Bạn có thể sử dụng document.getElementById ('someId'). Focus() làm phương án thay thế. Tôi đã đặt textField làm delegate và sử dụng phương thức delegate textFieldShouldReturn để kích hoạt khi phím return được nhấn.

Các vấn đề liên quan