【发布时间】:2018-06-14 21:55:09
【问题描述】:
我想知道如何以模态方式显示一个占据视图整体高度一小部分的小型视图控制器。
我创建了一个TestViewController 类,其中包含一个我关心按下的UIButton。这个视图控制器是在前一个视图控制器中执行某个操作后显示的,并且只占总高度的一小部分。
到目前为止,我有这段代码,它实现了使视图控制器“更小”并占据特定大小的目标。
TestViewController *testViewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
CGRect frame = CGRectMake(0, self.view.frame.size.height-80.0, self.view.frame.size.width, 80.0);
testViewController.view.frame = frame;
[self addChildViewController:testViewController];
[self.view addSubview:testViewController.view];
[testViewController didMoveToParentViewController:self];
但是,我如何配置此视图控制器,以便在我点击视图控制器外部时,我要么收到通知并可以采取行动(即解雇我自己),要么完全阻止触摸?这可能吗?
我尝试让视图控制器填满整个屏幕,然后有一个透明视图用于“拦截”在用于显示我的内容的小子视图之外发生的触摸,但我无法获得 @ 987654325@要透明,使用透明背景会导致显示黑色背景。
我目前正在查看 modalPresentationStyle 属性,但到目前为止似乎没有帮助。
【问题讨论】:
-
我为此做了一个 Github repo BonsaiController。
标签: ios uiview uiviewcontroller uikit