0

我想提出一个UIView在另一个之上UIView。我想以这样的方式做到这一点,以便子视图将拥有自己的UIViewController. 这可能吗?

所以我应该能够向子视图添加一个按钮:

UIButton *closeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
...
[closeButton addTarget:self action:@selector(closeMe) forControlEvents:UIControlEventTouchUpInside];

closeMe 作为子视图的 ViewController 中的一个方法。

在我的测试代码中,当用户点击关闭按钮时,它会因未定义的选择器而崩溃,因为父视图的 ViewController 没有closeMe方法。

编辑:

对不起,我提到的closeMe方法只是作为一个例子。对于这个子视图,我还需要支持许多其他方法(例如处理视图旋转),而拥有自己的 ViewController 的子视图的目标是封装。

4

4 回答 4

1

--> 使用 UIView 子类的自定义视图制作您的 ChildView。
-->将此自定义视图添加为您的视图中的子视图
-->然后使用它Protocol来实现您的任务。

于 2013-03-18T05:31:58.143 回答
0

它像你试图创建一个 modalView 一样受伤?

这是 modalViews 的直接示例:http: //timneill.net/2010/09/modal-view-controller-example-part-1/

我还喜欢做的是在 NSMutableArray 中弹出我的所有 viewController 并将其设为属性(非原子,保留),这样您就可以通过分层方式从应用程序中的几乎任何地方轻松访问它们。

于 2013-03-18T05:41:11.130 回答
0

我认为您的子视图是自定义视图,然后您可以使用委托/协议。你不想要单独的视图控制器。

检查这个

于 2013-03-18T05:41:34.270 回答
0

视图控制器和视图具有并行层次结构。您可以将视图控制器添加为彼此的子级。您的父视图控制器可以加载其子视图控制器,然后将其子视图控制器的视图安装在它自己的视图中。

UIViewController  --→  UIView
       ↑                 ↑
       | parent vc       | superview
       |                 |
UIViewController  --→  UIView

但是如果你只是添加一个子视图,你可能不需要子视图控制器。

于 2013-03-18T06:57:11.260 回答