0

首先,我在 ViewController 中定义了两个视图。

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

我想通过使用分段控制来切换两个视图。UIview 显示按钮(图像),另一个显示在列表中。

但我有一些麻烦。

我不知道如何控制这两个视图。我发现我已经制作了[self.view]上的所有对象。

我不太了解superview和subview之间的关系。现在,我只想将它们设置在 view1 上,我不知道如何实现。

太谢谢了。

4

2 回答 2

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 回答
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 回答