可能重复:
UITextField in UIAlertView on iPhone - how to make it responsive?
UITextField in UIAlertView alternative?如何将TextField放入AlertView?
我想在显示给用户的警告放在文本字段中AlertView。
可能重复:
UITextField in UIAlertView on iPhone - how to make it responsive?
UITextField in UIAlertView alternative?如何将TextField放入AlertView?
我想在显示给用户的警告放在文本字段中AlertView。
由于iOS5的,你可以使用UIAlertViewStyle不同的TextInput添加到UIAlertView中
从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];
只是它作为一个subView
与你的愿望帧大小添加到UIAlertView
对象!
我想出了这一点,它有点长,但我将它和忘记,它的工作原理...
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];
创建从UIAlertView中继承的自定义类和一个文本框元素添加进去。
然后写这个方法:
-(id)init
{
txtField = [[UITextField alloc] initWithFrame: CGRectZero]; // your frame here
[self addSubview: txtField];
return self;
}
这可能会有帮助。 现在在其他一些类中创建该类的对象并对其进行测试。
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];
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];
http://stackoverflow.com/questions/376104/uitextfield-in-uialertview- iphone-how-it-it-responsive- –
请在提问前先搜索!这个问题问了很多次... –