2010-03-01 106 views
2

我有一個UIPickerView有兩個組件。 當用戶滾動每個組件直到達到所需值時,它都能正常工作。 但我希望它的行爲像日曆或時鐘應用程序中的選擇器。含義:當用戶在其中一個組件中按下某個值時,我希望該組件自動將該行作爲所選行(這樣用戶不必總是滾動,他/她也可以簡單地選擇該值他們要)。UIPickerView行選擇

有誰知道該怎麼做?

謝謝

〜Chonch

+0

你想要UIDatePicker嗎? – kennytm 2010-03-01 14:40:33

+0

不需要。我想要一個包含兩個組件的自定義選取器... – 2010-03-01 18:39:48

回答

0

這是標準的選擇器的行爲,它應該使自動工作。

如果選擇器沒有選擇抽頭行會自動嘗試設置userInteractionEnabled屬性NO爲您在選擇器中的數據源viewForRow:方法返回的視圖。

+0

我使用UIView和UILabel作爲viewForRow的返回值。我試圖爲UILabel和UIView添加userInteractionEnabled,但它似乎沒有幫助。 你能想到其他的選擇嗎? – 2010-03-01 16:09:54

+0

你可以發佈你的viewForRow:方法嗎? – Vladimir 2010-03-01 16:26:32

+0

if(component == 0) \t { \t \t Style * curStyle = [self.styleArray objectAtIndex:row]; \t \t \t \t //創建的用於當前部件 \t \t的CGRect幀= CGRectMake(0,0,120,46)的視圖; \t \t UIView * view = [[UIView alloc] initWithFrame:frame]; \t \t \t \t //添加部分名稱 \t \t幀= CGRectMake(10,0,110,46); \t \t UILabel * lbl = [[UILabel alloc] initWithFrame:frame]; \t \t lbl.text = curStyle.styleName; \t \t lbl.backgroundColor = [UIColor clearColor]; \t \t [view addSubview:lbl]; \t \t [lbl release]; \t \t view.userInteractionEnabled = YES; \t \t \t \t return view; \t} \t else \t \t return [self.partsArray objectAtIndex:row]; – 2010-03-01 18:18:00