如何将此代码放在下面?
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSString *year = [dateYear objectAtIndex:[picker selectedRowInComponent:0]];
NSString *month = [dateMonth objectAtIndex:[picker selectedRowInComponent:1]];
NSString *day = [dateDay objectAtIndex:[picker selectedRowInComponent:2]];
labelDate1.text = [year stringByAppendingFormat:@" : %@ : %@", month, day];
}
进入这里?
- (IBAction)setDateBtn1:(id)sender {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
viewPicker.frame = CGRectMake(0, 0, 320, 460);
[UIView commitAnimations];
}
我的问题是,我有labelDate1的两个按钮setDateBtn1和labelDate2的setDateBtn2,两个按钮调用一个pickerView,用于显示每个标签的输入数据。选择日期后,它只出现在labelDate1中,无论我调用我的pickerview的是什么按钮,但我想要的是labelDate1的setDateBtn1和labelDate2的setDateBtn2。我希望你能理解我的英语。如有任何帮助,非常感谢你。
答案 0 :(得分:2)
您需要拥有一个属性来保存“有效”标签。按下按钮1时,将此属性设置为标签1.按下按钮2时,将其设置为标签2.
然后,在上面显示的选择器视图委托方法中,更新活动标签,而不是像现在一样更新标签1。
答案 1 :(得分:1)
如果我理解你的问题,你有一个选择器方法,但有两个按钮(或标签),其中任何一个都可以调出你的选择器。在选择器中选择一些东西应该设置label1或label2。
所以......这是您利用选择器视图的“tag
”属性的机会。
启动选择器时,如果标签2的按钮显示选择器,请将“viewPicker.tag
”设置为“1
”(标签1)和“2
”。
然后,在您的“didSelectRow
”功能中,您将知道您正在挑选哪个标签。你可以这样做:
if(pickerView.tag == 1)
labelDate1.text = [year stringByAppendingFormat:@" : %@ : %@", month, day];
else
labelDate2.text = [year stringByAppendingFormat:@" : %@ : %@", month, day];
希望我能够很好地解释这一点,让你继续前进。