我在 uiactionsheet 中添加了 textfeld 作为
-(void)showAction {
printf("getting action ready \n");
UIActionSheet *asheet = [[UIActionSheet alloc] initWithTitle:@"New Sheet Name" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: nil];
[asheet showInView:self.view];
[asheet setFrame:CGRectMake(0, 70, 320,200)];
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 100,200, 25)];
textField.borderStyle= UITextBorderStyleRoundedRect;
[textField becomeFirstResponder];
[textField setKeyboardType:UIKeyboardTypeAlphabet];
[textField setKeyboardAppearance:UIKeyboardAppearanceAlert];
textField.text=@"test" ;
textField.delegate=self;
[asheet insertSubview:textField atIndex:0];
[textField release];
[asheet release];
}
但键盘不适用于此文本字段,但退格键可以使用。
以前,当我使用 ios 3 时,它工作正常,但使用 ios 3.2 iphone 模拟器 4.0 不接受来自键盘的任何输入
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
printf("\n textFieldShouldBeginEditing\n ");
return YES;
}
只需使用这种对我有用的方式
首先在类 .h 文件中设置 UITextFieldDelegate,UIActionSheetDelegate
#定义TEXT_FIELD_TAG 9999
#定义 ACTION_SHEET_TAG 8888
-(IBAction)ForgotPassword:(id)sender{
UIActionsheet *actFollowUp = [[UIActionSheet alloc] initWithTitle:@"Please Enter Email"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"OK"
otherButtonTitles:nil];
actFollowUp.tag=ACTION_SHEET_TAG;
textFieldTime = [[UITextField alloc] initWithFrame:CGRectMake(60.f,320.f, 200.f, 30.f)];
[textFieldTime setBackgroundColor:[UIColor whiteColor]];
textFieldTime.delegate= self;
[textFieldTime setKeyboardType:UIKeyboardTypeAlphabet];
textFieldTime.keyboardAppearance= UIKeyboardAppearanceAlert;
textFieldTime.tag=TEXT_FIELD_TAG;
[actFollowUp addSubview:textFieldTime];
UIWindow* appWindow = [UIApplication sharedApplication].keyWindow;
[actFollowUp showInView:appWindow];
[actFollowUp setFrame:CGRectMake(0.0,200.0, 320.0, 200.0)];
[self performSelector: @selector(acceptInput:) withObject: actFollowUp];
}
-(void)acceptInput: (UIActionSheet*)actionSheet
{
UITextField* textField = (UITextField*)[actionSheet viewWithTag:TEXT_FIELD_TAG];
UIWindow* appWindow = [UIApplication sharedApplication].keyWindow;
CGRect frame = textField.frame;
[appWindow insertSubview:textField aboveSubview:actionSheet];
frame.origin.y += 60.0; // move text field to same position as on action sheet
textField.frame = frame;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)