当我打开我的UITextField时,如何显示UIPickerView?
问题描述:
我发现了很多来自互联网的示例代码,但也不起作用....任何人都可以告诉我下面我的代码有什么问题?非常感谢。 SOS当我打开我的UITextField时,如何显示UIPickerView?
//我storeboard屏幕
http://imageupload.org/en/file/209300/03.jpg.html
//This is PickerViewTest.h
@interface InputRound : UIViewController<UITextFieldDelegate>
{
UIPickerView *pvPickerTest;
NSMutableArray *aryMaster;
}
@property (nonatomic, retain) IBOutlet UIPickerView *pvPickerTest;
@property (nonatomic, retain) NSMutableArray *aryMaster;
@end
//This is PickerViewTest.m
@interface InputRound()
@end
@implementation PickerViewTest
@synthesize pvPickerTest, aryMaster;
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
-(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
aryMaster = [[NSMutableArray alloc] init];
[aryMaster addObject:@"User01"];
[aryMaster addObject:@"User02"];
[aryMaster addObject:@"User03"];
}
-(NSInteger)numberOfComponentsInPickerView:(NSInteger)component
{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)picker numberOfRowsInComponent:(NSInteger)component
{
return [aryMaster count];
}
-(NSString *) pickerView:(UIPickerView *)picker titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [aryMaster objectAtIndex:row];
}
-(void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
// Show UIPickerView
pvPickerTest.frame = CGRectMake(0, 500, pvPickerTest.frame.size.width, pvPickerTest.frame.size.height);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.50];
[UIView setAnimationDelegate:self];
pvPickerTest.frame = CGRectMake(0, 200, pvPickerTest.frame.size.width, pvPickerTest.frame.size.height);
[self.view addSubview:pvPickerTest];
[UIView commitAnimations];
return NO;
}
@end
您是否将UITextFieldDelegate添加到.h和您的UITextField? – Raptor 2012-03-30 03:13:46
在textFieldDidBegin中编写代码并给予代理 – Hiren 2012-03-30 06:18:24