1

メッセージング ベースの iPhone アプリで作業しています。私の UIViewController の 1 つで、UITextView キーボードを表示していて、Web サービスから警告メッセージを受け取っています。

UIAlertView でアラート メッセージを表示すると、UIAlertView から [OK] ボタンをクリックすると、UITextview キーボードが消えます。UIAlertViewデリゲートにbecomeFirstResponderを入れようとしましたが、それでもキーボードが消えます。ご参考までに、

-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   [messageTextView becomeFirstResponder]; // Here again I am giving becomeFirstResponder to my UITextView

   int alertMessageArrayCount = [alertMessageArray count];
    if (messageAlertView) 
    {
        if (messageAlertCount < alertMessageArrayCount)  // These codes to show my all messages in UIAlertView one by one..
        {
            messageAlertCount = messageAlertCount + 1;

            arrayObjectValue = arrayObjectValue + 1;

            NSString *alertMessage = [alertMessageArray objectAtIndex:arrayObjectValue];

            messageAlertView = [[UIAlertView alloc] initWithTitle:@"Alert" message:alertMessage delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [messageAlertView show];
            [messageAlertView release];
        }
    }
}

誰でもこの問題を解決するのを手伝ってもらえますか?

編集 :

messageTextView = [[UITextView alloc] initWithFrame:CGRectMake(35, 5, 210, 30)];
messageTextView.delegate = self;
messageTextView.backgroundColor = [UIColor clearColor];
messageTextView.clipsToBounds = NO;
messageTextView.font = [UIFont fontWithName:@"Helvetica" size:14];
[self.view addSubView:messageTextView];
4

2 に答える 2

1

UIAlertViewデリゲートメソッドで、[messageTextViewbecomeFirstResponder]を以下のように試してください。

if([messageTextView resignFirstResponder]){
    [messageTextView becomeFirstResponder];
    }
于 2012-10-01T13:11:29.630 に答える
0

自分自身の代わりに、alertview のデリゲート "nil" を記述します。

 messageAlertView = [[UIAlertView alloc] initWithTitle:@"Alert" message:alertMessage delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
于 2012-10-01T10:51:18.673 に答える