2011-11-21 3 views
-1

Possible en double:
UITextField in UIAlertView on iPhone - how to make it responsive?
UITextField in UIAlertView alternative?Comment mettre TextField dans AlertView?

je veux mettre en TextField AlertView lorsque l'alerte est affichée aux utilisateurs.

+1

http://stackoverflow.com/questions/376104/uitextfield-in-uialertview- sur-iphone-comment-faire-ça-répondre vérifier ceci –

+1

S'il vous plaît chercher avant de poser une question! cette question posée plusieurs fois ... –

Répondre

2

Depuis iOS5, vous pouvez utiliser UIAlertViewStyle ajouter les différents Textinput dans le UIAlertView

Example Link

0

de UITextField in UIAlertView on iPhone - how to make it responsive?

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

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, 100.0); 
[dialog setTransform: moveUp]; 
[dialog show]; 
[dialog release]; 
[nameField release]; 
0

Il suffit de l'ajouter comme subView à l'objet UIAlertView avec la taille du cadre que vous désirez!

0

je suis venu avec cela, est un peu long, mais je l'ai mis et oublièrent et il fonctionne ...

alertView = [[UIAlertView alloc] initWithTitle:t message:@"" delegate:self  cancelButtonTitle:@"CANCEL" otherButtonTitles:@"OK", nil]; 

pinField = [[UITextField alloc] initWithFrame:CGRectMake(20, 38, 244, 31)]; 
pinField.backgroundColor = [UIColor whiteColor]; 
[alertView show]; 


[alertView insertSubview:pinField atIndex:2]; 


NSArray * subviews = [alertView subviews]; 
UILabel * label1 = [subviews objectAtIndex:1]; 
UIImageView * bg = [subviews objectAtIndex:0]; 
UIView * button1 = [subviews objectAtIndex:4]; 
UIView * button2 = [subviews objectAtIndex:5]; 
float height = 0; 
height = 16 + label1.frame.size.height; 
CGRect frame = label1.frame; 
frame.origin.y = 8; 
label1.frame = frame; 

frame = pinField.frame; 
frame.origin.y = height; 
pinField.frame = frame; 

height += 8 + frame.size.height; 
frame = button1.frame; 
frame.origin.y = height; 
button1.frame = frame; 

frame = button2.frame; 
frame.origin.y = height; 
button2.frame = frame; 

height += 8 + frame.size.height; 
frame = alertView.frame; 
frame.size.height = height +8; 
alertView.frame= frame; 

frame = bg.frame; 
frame.size.height = alertView.frame.size.height; 
bg.frame = frame; 

[pinField release]; 
[alertView release]; 
0

Créer une classe personnalisée qui hérite de UIAlertView et ajouter un élément textfield à lui.

Puis écrire cette méthode:

-(id)init 
{ 
    txtField = [[UITextField alloc] initWithFrame: CGRectZero]; // your frame here 
    [self addSubview: txtField]; 

    return self; 
} 

Cela pourrait aider. Créez maintenant un objet de cette classe dans une autre classe et testez-le.

0
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Save As" message:@"this gets covered" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; 
self.textfield = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)]; 
[self.textfield setBackgroundColor:[UIColor whiteColor]]; 

[myAlertView addSubview:self.textfield]; 
[myAlertView show]; 
[myAlertView release]; 
0
UIAlertView *customAlertView = [[UIAlertView alloc] initWithTitle:@"Your title here!" message:@"this gets covered" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; 

UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)]; 

[txtField setBackgroundColor:[UIColor whiteColor]]; 

[customAlertView addSubview:txtField]; 

[customAlertView show]; 

[customAlertView release];