0

まず、ViewController で 2 つのビューを定義します。

@interface ViewController : UIViewController
{
    UIView *view1;
    UITableView *view2;
}

セグメント化されたコントロールを使用して、2 つのビューを切り替えたい。UIview はボタン (画像) を表示し、もう一方はそれらをリストに表示します。

しかし、私はいくつかの問題を抱えています。

2 つのビューを制御する方法がわかりません。[self.view] にすべてのオブジェクトを作成したことがわかりました。

スーパービューとサブビューの関係がよくわかりません。今、私はそれらをview1に設定したいのですが、それを実現する方法がわかりませんでした。

まことにありがとうございます。

4

2 に答える 2

0

私はコードをチェックしていませんが、動作するはずです:-

-(IBAction)segmentChanged:(UISegmentedControl*)sender {
    if (sender.selectedSegmentIndex == 0) {
        view1.alpha = 0;
        view1.hidden = NO;
        [UIView animateWithDuration:0.5 animations:^{
            [view1 setAlpha:1.0];
            [view2 setAlpha:0.0];
        } completion:^(BOOL finished){ [view2 setHidden:YES]; }];
    } else {
        view2.alpha = 0;
        view2.hidden = NO;
        [UIView animateWithDuration:0.5 animations:^{
            [view2 setAlpha:1.0];
            [view1 setAlpha:0.0];
        } completion:^(BOOL finished){ [view1 setHidden:YES]; }];
    }
}

およびviewDidLoadセットで

view2.hidden = YES;
self.segmentControl.selectedSegmentIndex = 0;
于 2012-07-19T10:37:09.767 に答える
0

このようなもの?...

-(IBAction)segmentChanged:(UISegmentedControl*)sender {
    if ([sender tag]==0) {
        [UIView animateWithDuration:0.5 animations:^{
            [view1 setAlpha:1.0];
            [view2 setAlpha:0.0];
        }];
    } else if ([sender tag]==1) {
        [UIView animateWithDuration:0.5 animations:^{
            [view1 setAlpha:0.0];
            [view2 setAlpha:1.0];
        }];
    }
}

setAlpha の代わりに setFrame を使用して、ビューを可視領域の外に移動できます...

于 2012-07-19T09:34:50.437 に答える