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