0

アプリに UISegmentControl があり、アプリ ストアのようにビューを切り替えようとしています。このコードを試してみましたが、うまくいきませんでした:

- (IBAction)segmentSwitch:(id)sender {
  UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
  NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;

  if (selectedSegment == 0) {
    //toggle the correct view to be visible
    [firstView setHidden:NO];
    [secondView setHidden:YES];
  }
  else{
    //toggle the correct view to be visible
    [firstView setHidden:YES];
    [secondView setHidden:NO];
  }
}

ビューを切り替える方法を知っている人はいますか? どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

1

そのコードは、両方のビューが現在表示されている親ビュー (またはウィンドウ) のサブビューである限り機能します。

また、次のように IBAction を少し簡略化できます。

- (IBAction)segmentSwitch:(UISegmentedControl*)segmentedControl {
    //UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
    NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
于 2010-02-14T07:01:10.607 に答える
0

このコードが実行されたときに何起こるか、および開始点が何であるかを知ることは役立ちます.

firstView が表示されているのにコードが非表示にしない場合は、「firstView」変数が実際にはビューに接続されていないと思われます。firstView に非表示にするように指示しているため、ビューが非表示にならない場合、「firstView」はおそらく nil です。このメソッドにブレークポイントを設定し、firstView と secondView の両方をチェックして、操作するビューへの参照があることを確認します。

于 2010-02-15T01:19:03.593 に答える