1

ユーザーが必要なテキストを入力できるように、UIAlertviewにUITextfieldを追加しようとしています。送信をクリックした後、それぞれのデータをWebサービスに送信する必要があります。

Viewcontroller は 320*600 フレームセットなので、コンテンツ全体を表示するための scrollview があります。

実行中に「次へ」ボタンを押すと、テキストフィールド付きのアラートビューが問題なく表示されますが、アラートビューで「送信」ボタンまたは「キャンセル」ボタンをクリックした瞬間、ビューコントローラーのスクロールビューが機能しませんが、「前のコントローラーに移動するためのナビゲーションバーの戻るボタンはうまく機能します。

テキストフィールドを使用したアラートビューのコードは、

- (IBAction)next:(id)sender
{

UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Enter your changes"
                                                  message:nil
                                                 delegate:self
                                        cancelButtonTitle:@"Cancel"
                                        otherButtonTitles:@"Submit Changes", nil];

[message setAlertViewStyle:UIAlertViewStylePlainTextInput];

[message show];
}

この背後にある理由と、スクロールビューが正しく機能しない理由は何ですか。

更新しました:

「送信」ボタンのアクションは、

-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1)
{
    UIAlertView *approval = [[UIAlertView alloc]initWithTitle:@"success" message:@"Your request is updated " delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [approval show];

    text = [[alertView textFieldAtIndex:0] text];
    NSLog(@"passed value %@",text);// text returns the entered value

}
NSURL *url = [NSURL URLWithString:@"http://*******************************"];

NSMutableURLRequest *urlRequest =[[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSString * log= [NSString stringWithFormat:@"key=%@&Action=Preview&deal=%d&status=%d,comment=%@",session,value,11,text];
 [urlRequest setHTTPBody:[log dataUsingEncoding:NSUTF8StringEncoding]];

 [urlRequest setHTTPMethod:@"POST"];

 NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];

if(connection)
{
    NSLog(@"Request for change");
    responseData = [[NSMutableData alloc] init];

}

}
4

2 に答える 2

0

このコードを試してください。submit_pressed アクションを送信ボタンにリンクします。送信をクリックするとアラート ビューがポップアップし、指定された URL リンクに値が送信されます。アラート ビューで [OK] をクリックすると、通常のビューが表示されます。スクロールビューとは関係ありません。

-(IBAction)Submit_pressed
    {
        UIAlertView *approval = [[UIAlertView alloc]initWithTitle:@"success" message:@"Your request is updated " delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [approval show];

        text = [[alertView textFieldAtIndex:0] text];
        NSLog(@"passed value %@",text);// text returns the entered value

    NSURL *url = [NSURL URLWithString:@"http://*******************************"];

    NSMutableURLRequest *urlRequest =[[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
    NSString * log= [NSString stringWithFormat:@"key=%@&Action=Preview&deal=%d&status=%d,comment=%@",session,value,11,text];
     [urlRequest setHTTPBody:[log dataUsingEncoding:NSUTF8StringEncoding]];

     [urlRequest setHTTPMethod:@"POST"];

     NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];

    if(connection)
    {
        NSLog(@"Request for change");
        responseData = [[NSMutableData alloc] init];

    }
于 2013-09-20T08:25:48.073 に答える
0

キャンセルと送信ボタンにリンクされたアクションを確認してください。そうしないと、スクロール ビューが機能するという間違いがある可能性があります。

于 2013-09-19T10:36:10.660 に答える