【发布时间】:2014-04-30 15:17:03
【问题描述】:
我想通过单击父屏幕上的按钮打开一个屏幕(小屏幕作为子屏幕)。我还想禁用与 父视图 的交互,直到 子视图 打开。我尝试将子视图作为 subview 打开,如果我禁用父视图,它也会禁用有意义的 subview。
我还尝试使用 presentViewController 将 子视图 作为单独的视图打开,但在这种情况下,它会完全遮住父屏幕。
打开子视图的最佳方式是什么?以及如何禁用父视图?
解决办法:
ParentViewController 是主视图控制器,而 ChildViewController 是子视图,它只有 .m 和 .h 文件。这样你就可以在自己的类上处理你的点击事件,否则它会抛出异常
在文件 ParentViewController.h 中
#import “ParentViewController.h
#import “ChildViewController.h"
@class ChildViewController;
@interface ParentViewController : UIViewController
{
ChildViewController *childViewController;
}
在文件 ParentViewController.m 中
@implementation ParentViewController`
-(void)viewDidLoad`
{
childViewController = [[ChildViewController alloc]initWithNibName:@“Child” bundle:nil];
}
-(IBAction)btnSubView:(id)sender
{
UIView *clearView = [[UIView alloc]init];
clearView.frame = self.view.frame;`
childViewController.view.frame = CGRectMake(200, 350, 404, 227);
clearView.backgroundColor = [UIColor colorWithRed:0.0 green:0.1 blue:0.4 alpha:0.2];
[self.view addSubview:clearView];
[clearView addSubview:groupViewController.view];
}
【问题讨论】:
标签: ios objective-c uiview