0
我在设备上面临这个问题,即分配选取器的选定行值需要太多时间才能在模拟器上正常工作时在标签上显示。在设备上分配UIPickerView值问题
下面是代码:
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
{
if (pickerView == rewardsName) {
NSString *selectedReward = [self.rewards objectAtIndex:row];
if ([reward1.text length]==0){
//set label 1
reward1.text = selectedReward;
}
if ([reward2.text length]==0){
//set label 2
reward2.text = selectedReward;
}
if([reward3.text length]==0){
//set label 3.
reward3.text = selectedReward;
}
}
else if(pickerView == selectNamazPicker){
aNumberString = [self.namazArray objectAtIndex:row];
NSLog(@"aNumberString:: %@", aNumberString);
}
}
谁能告诉我什么可以是问题......我无法找到一个...
**
EDITED:
ISSUE RESOLVED:
**
For others who would face this issue.
I don't know whether it was creating the problem or not. But I did make these changes to my code.
In my .h file, previously I was just defining properties of UILabels (reward1, reward2 etc) with IBOutlet and not ivars. But then I defined ivars as IBOutlet UILabel reward1; etc and eliminated IBOutlet from properties then it started working fine.
Now the problem has resolved.
什么是'rewardsName'?请注意,您正在比较两个对象的地址:'if(pickerView == rewardsName)'... – giorashc 2012-04-08 14:48:15
实际上,我在单个视图上使用了两个pickerview。 rewardsName是UIPickerview – 2012-04-08 15:15:23
如果'reward1','reward2'和'reward3'属于'UILabel'类,那么读取和改变它们的文本应该没什么效果。您可以尝试:(1)注释掉整个块以确认问题消失;(2)在代码中的其他位置更改UILabel文本以确认问题出现在那里? – Dondragmer 2012-04-10 11:15:43