0

そこで、PickerViewを実装しました。値を選択するとすべてが正常に機能しますが、何も選択しない場合は

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

は呼び出されません。そして、ユーザーが値を選択しない場合は、最初の値が選択されます。

だから私は実装しました:

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

しかし、それは機能しません。この後にselectRow:inComponent:メソッドが呼び出されないのはなぜですか?

4

2 に答える 2

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

于 2012-10-29T18:48:20.177 に答える
0
    [pickerView selectRow:0 inComponent:0 animated:YES];

デリゲート関数は呼び出されません。指定した行を中央にスクロールするだけです。

于 2012-10-26T10:24:21.103 に答える