2012-10-26 41 views
0

所以,我實現了一個PickerView當我挑選一些有價值的東西工作正常,但如果我不接任何東西UIPickerView當查看加載選擇值

- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated 

不叫。而且我想要如果用戶不選擇一個值,第一個值被選中。

所以,我實現:

-(void)viewDidAppear:(BOOL)animated 
{ 
    [pickerView selectRow:0 inComponent:0 animated:YES]; 
} 

,但它不工作。爲什麼不在這之後調用selectRow:inComponent:方法?

回答

2

創建一個新的函數,在您啓動時調用。如果你想,當你啓動應用程序要讀取的代碼輸入,你需要把它放在viewDidLoad中

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
[updateWheel]; 
{ 
    [super viewDidLoad]; 
    } 

#Pragma Mark pickerWheel Delegate 
- (void)updateWheel 
{NSString *wheel1 = [wheel1 objectAtIndex:[picker selectedRowInComponent:0]]; 
aLabelUWantToHaveOutputIn.text = wheel1; 
} //Whatever code you want to happen 

下,如果沒有幫助,看看我的項目,該項目使用了一些相同的力學。 http://pastebin.com/WLGq3jvv

0
[pickerView selectRow:0 inComponent:0 animated:YES]; 

它不會調用委託函數。它將簡單地滾動指定的行到中心。

+0

那麼,做我想做的事情的最佳方式是什麼? – 1337code

+0

我不知道是否有辦法做到這一點。我們需要代表知道哪一行被選中。但是在這裏,你知道你已經選擇0組成0行。你可以在這裏做你的東西。 –

+0

我試圖在selectRow中實現它:inComponent:ut它確實; t被調用 – 1337code