ユーザーが必要なテキストを入力できるように、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];
}
}