Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 以pickerview作为第一响应者的UItextfield_Ios_Objective C_Iphone_Uipickerview - Fatal编程技术网

Ios 以pickerview作为第一响应者的UItextfield

Ios 以pickerview作为第一响应者的UItextfield,ios,objective-c,iphone,uipickerview,Ios,Objective C,Iphone,Uipickerview,我有一个UIExtField,点击它时需要显示UIPickerView。此外,在pickerview中选择的数据将插入文本字段。为了实现它,我现在使用subhajit的。试试这个 let myPicker = UIPickerView() @IBOutlet var myText: UITextField! override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) myTex

我有一个UIExtField,点击它时需要显示UIPickerView。此外,在pickerview中选择的数据将插入文本字段。为了实现它,我现在使用subhajit的。

试试这个

 let myPicker = UIPickerView()
 @IBOutlet var myText: UITextField!

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    myText.inputView = myPicker

}


 @IBAction func textPiker(_ sender: UITextField) {

    sender.inputView = myPicker
}

我确实创建了UITextField的一个子类,它很容易实现和使用。以下是GitHub链接:

拜访


请参见示例以了解如何使用。自述文件现在也更新了。

在这段代码的帮助下,您还可以打开多个文本字段

h

m

}


你能展示你的trid代码吗?欢迎来到StackOverflow。请注意,这不是一个免费的代码编写服务,但我们渴望帮助其他程序员(和有志者)编写自己的代码。请阅读上的帮助主题。之后,请使用您目前编写的代码更新您的问题,以完成您希望完成的任务。当然,您想知道什么?无法运行项目如果您使用的是较低版本的Xcode而不是Xcode 8,请将目标更改为iOS 9
UIPickerView *monthPickerView;

@property (strong, nonatomic)NSArray *monthArray;

@property (retain, nonatomic) IBOutlet UITextField *monthTextField;
self.monthArray=[[NSArray alloc] initWithObjects:@"one",@"two", nil];

self.monthTextField.delegate=self;

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    [self showPicker:textField];

 else if(textField==_monthTextField){
    if(self.monthTextField.text.length>=1){
        [monthPickerView selectRow:[self.monthArray indexOfObject:self.monthTextField.text] inComponent:0 animated:NO];
    }
}

return YES;
}


//**************show picker**************

- (IBAction)showPicker:(id)sender {
UITextField *textField=(UITextField *)sender;
monthPickerView = [[UIPickerView alloc] init];
monthPickerView.showsSelectionIndicator = YES;
monthPickerView.dataSource = self;
monthPickerView.delegate = self;
pickerToolbar = [[UIToolbar alloc] init];
pickerToolbar.barStyle = UIBarStyleBlackTranslucent;
[pickerToolbar sizeToFit];
//to make the done button aligned to the right
UIBarButtonItem *flexibleSpaceLeft = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem* doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                               style:UIBarButtonItemStyleDone target:self
                                                              action:@selector(doneClicked:)];
[pickerToolbar setItems:[NSArray arrayWithObjects:flexibleSpaceLeft, doneButton, nil]];

if(textField==_monthTextField){
    monthPickerView.tag=;
    self.monthTextField.inputView = monthPickerView;
    self.monthTextField.inputAccessoryView = pickerToolbar;
}
-(void)doneClicked:(id) sender
{
[self.view endEditing:YES];


}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
{
    return 1;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{

if(pickerView.tag==1){
    self.monthTextField.text = [_monthArray objectAtIndex:row];
}


}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{

if(pickerView.tag==1){
    return [_monthArray count];
}
return 0;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
{

if(pickerView.tag==1){
    return [_monthArray objectAtIndex:row];
}
return 0;
}