首先,我在ViewController中定义了两个视图。
@interface ViewController : UIViewController
{
UIView *view1;
UITableView *view2;
}
我想通过使用分段控件来切换两个视图。 UIview显示按钮(图像),另一个显示在列表中。
但我遇到了一些麻烦。
我不知道如何控制这两个视图。 我发现我已经在[self.view]上创建了所有对象。
我不太了解superview和subview之间的关系。 现在,我只想在view1上设置它们,我不知道如何实现它。
非常感谢。
答案 0 :(得分: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];
}];
}
}
您可以使用setFrame将视图移出可见区域而不是setAlpha ......
答案 1 :(得分: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;