如何代码实现点击按钮d出pickerview,并把选择的值穿到fieldtext中

如何代码实现点击按钮d出pickerview,并把选择的值穿到fieldtext中,第1张

简单写了点代码,就这样

self.pick = [[UIPickerView alloc] init]

self.pick.dataSource = self

self.pick.delegate = self

textField.inputView =self. pick

代理方法

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

return 1

}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

{

return self.pickArray.count

}

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

{

return self.pickArray[row]

}

UIPickerView的主要内容实际上并不多,主要是一个UIPickerView类和对应的UIPickerViewDelegate,UIPickerViewDataSource协议,分别表示代理和数据源。在此不细说这些,只是解答我们遇到的一个小需求。

通常,UIPickerView是可以定义多列内容的,比如年、月、日三列,这些列之间相互不干扰,可以自已滚自己的,不碍别人的事。不过,我们有这么一个需求,也是有三列,但这三列需要一起滚。嗯,这个就需要另行处理了。

在UIPickerViewDelegate中,声明了下面这样一个代理方法:

- (UIView *)pickerView:(UIPickerView *)pickerView

viewForRow:(NSInteger)row

forComponent:(NSInteger)component

reusingView:(UIView *)view

我们通过这个方法就可以来自定义行的视图。时间不早,废话就不多说了,直接上代码吧:

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {

PickerViewCell *pickerCell = (PickerViewCell *)view

if (!pickerCell) {

NSInteger column = 3

pickerCell = [[PickerViewCell alloc] initWithFrame:(CGRect){CGPointZero, [UIScreen mainScreen].bounds.size.width, 45.0f} column:column]

}

[pickerCell setLabelTexts:@[...]]

return pickerCell


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/7943459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存