2013-12-11 3 views
0

이름을 묻는 간단한 대화 상자를 구현하고 있습니다. 이것은 내 코드입니다 :입력 대화 상자의 UITextField가 표시되지 않습니다.

UIAlertView* dialog = [[UIAlertView alloc] init]; 
[dialog setDelegate:self]; 
[dialog setTitle:@"Enter Name"]; 
[dialog setMessage:@" "]; 
[dialog addButtonWithTitle:@"Cancel"]; 
[dialog addButtonWithTitle:@"OK"]; 

UITextField *nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)]; 
[nameField setBackgroundColor:[UIColor whiteColor]]; 
[dialog addSubview:nameField]; 
CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 20.0); 
[dialog setTransform: moveUp]; 
[dialog show]; 
[dialog release]; 
[nameField release]; 

잘 작동했지만 iOS 7에서는 텍스트 필드가 표시되지 않습니다. 누구든지 도와 줄 수 있습니까?

답변

2

이 iOS7에 에서 더 이상 작동하지 않습니다이 대신

UIAlertView * alert = [[UIAlertView alloc] initWithTitle:nil message:NSLocalizedString(@"Enter a phone number",nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel",nil) otherButtonTitles:NSLocalizedString(@"OK",nil), nil]; 
       alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
       [alert setTag:1]; 
       [[alert textFieldAtIndex:0] setDelegate:self]; 
       [[alert textFieldAtIndex:0] resignFirstResponder]; 
       [[alert textFieldAtIndex:0] setPlaceholder:NSLocalizedString(@"Enter Number here", nil)]; 
       [[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypeNumberPad]; 
       [[alert textFieldAtIndex:0] becomeFirstResponder]; 

       [alert show]; 
       [alert release]; 

당신은 귀하의 요구에 대한 키보드 유형을 변경할 수 있습니다보십시오.

행운을 빕니다 :)

+0

감사합니다, 그건 좋은 작품 – Booms

0

다음과 같이 사용하십시오 ... 그리고 하위 필드로 텍스트 필드를 추가 할 필요가 없습니다.

UIAlertView* dialog = [[UIAlertView alloc] init]; 
       [dialog setDelegate:self]; 
       [dialog setTitle:@"Enter Name"]; 
       [dialog setMessage:@" "]; 
       [dialog addButtonWithTitle:@"Cancel"]; 
       [dialog addButtonWithTitle:@"OK"]; 

       dialog.alertViewStyle = UIAlertViewStylePlainTextInput; 

CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 20.0); 
       [dialog setTransform: moveUp]; 
       [dialog show]; 
[dialog release]; 
[nameField release]; 
+0

감사합니다, 그것은 왜 당신이 대답 수락 취소 한 후 완벽하게 작동하고 당신이 그것을 찬성 투표하지 않은 경우 완벽하게 – Booms

+0

작동 .. –

관련 문제