1

Web から HTML フォームをロードするサブビューとして埋め込まれた UIWebView があります。問題は、テキスト フィールドの 1 つを選択すると、フォーカスを受け取りますが、キーボードが表示されないことです。これは、iOS 4.3、5.1 などでこのアプリを実行すると、iOS6 でのみ発生し、期待どおりに動作します。どなたかアドバイスを

- (void)viewDidLoad
{
[super viewDidLoad];
webView = [[UIWebView alloc] init];
[webView setUserInteractionEnabled:YES];
[webView setScalesPageToFit:YES];
[webView setKeyboardDisplayRequiresUserAction:YES];

// load url here
NSURL *url = [NSURL URLWithString:redirectUrl];
//URL Requst Object
NSMutableURLRequest *requestObj = [NSMutableURLRequest requestWithURL:url];
[requestObj setHTTPMethod:@"POST"];
[webView loadRequest:requestObj];
UIScrollView* sv = nil;
for(UIView* v in [webView subviews]){
    if([v isKindOfClass:[UIScrollView class] ]){
        sv = (UIScrollView*) v;
        sv.scrollEnabled = NO;
        sv.bounces = NO;

    }
}
[webView setOpaque:NO];
[webView setBackgroundColor:[UIColor whiteColor]];
webView.delegate = self;
[self.view addSubview:webView];


} 
4

1 に答える 1

1

この質問の答えを使用できます:

一部の UITextfields が iOS6 で応答しない

問題のあるビューを呼び出しているコントローラーでモーダルビューコントローラーを提示する前に、ファーストレスポンダーを樹脂化する必要があります。

ただし、すべてのプレビュー コントローラーでファーストレスポンダーを再署名する必要もあります。

私の場合、検索バーから詳細ビューに移動し、詳細から Facebook で共有します。Facebook の共有ビューにキーボードが表示されませんでした。これは、検索バーの最初のレスポンダーに登録していなかったためです。

それが役に立てば幸い。

于 2012-11-21T15:33:06.570 に答える