2011-11-21 3 views
-1

Можно создать дубликат:
UITextField in UIAlertView on iPhone - how to make it responsive?
UITextField in UIAlertView alternative?Как я могу поместить TextField в AlertView?

я хочу поставить TextField в AlertView, когда предупреждение отображается для пользователей.

+1

http://stackoverflow.com/questions/376104/uitextfield-in-uialertview- on-iphone-how-to-make-it-отзыв Проверить это –

+1

Пожалуйста, найдите перед тем, как задать вопрос! этот вопрос задавал много раз ... –

ответ

2

Поскольку iOS5 вы можете использовать UIAlertViewStyle добавить различные TextInput в UIAlertView

Example Link

0

из 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

Просто добавьте его в качестве subView к UIAlertView объекта с размером кадра, что вы хотите!

0

Я придумал это, его немного долго, но я настроил и забыл, и он работает ...

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

Создайте пользовательский класс, который наследует от UIAlertView и добавить TextField элемент к нему.

Затем написать этот метод:

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

    return self; 
} 

Это может помочь. Теперь создайте объект этого класса в каком-то другом классе и протестируйте его.

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]; 
Смежные вопросы