2011-06-04 42 views
0

如何在我的UIPickerView中選擇一行時通知視圖控制器並將其傳遞給字符串?如何通知視圖控制器在UIPickerView中選擇了一行?

我在定期視圖中定製了UIPickerView,並且我在不同的類中定製了數據源/代理

如何在pickerView:didSelectRow:inComponent:委託方法期間通知我的觀點?並將選定的字符串傳遞給視圖控制器?

回答

1

是符合選擇器代表的類將實現

pickerView:didSelectRow:inComponent: 

知道在選擇器中選擇哪一行(或字符串)。

如果外界其他一些人想知道哪一行被選中,那麼這個類又需要通知。這將創建一個授權鏈。

例如,如果pickerClass是實現委託方法的類。如果其他類(比如說outsideClass)想要知道哪一行被選中,那麼你可以創建這個pickerClass的outsideClass委託並將這個消息傳遞給它。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
[_pickerClassDelegate pickerClass:self didSelectRow:row inComponent:component]; 
} 
1

對於這一點,你必須創建自定義類中的一個方法,象下面這樣:

.h文件中 ID父母;

.m文件

-(void)initWithPageNumber:(id)pidParent{ 
     parent=pidParent 
} 

然後已設置的委託方法編程象下面這樣: uipickerview.delegate =父母; uipickerview.datasource = parent;

希望它會有幫助。

讓我知道遇到困難。

1

您可以通過使用張貼和觀察通知使用NSNOtification centet或通過創建委託協議來完成此操作。研究在Objective-C中學習的好委託協議。

相關問題