0

此代码运行良好:

UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:pickerFrame];
[pickerView addTarget:self 
               action:@selector(pickerChanged:) 
     forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pickerView];

为什么我不需要将选择器控制器添加到我的 UIViewControllers 层次结构中?

[self addChildViewController:pickerView.controller];

我知道, UIView 没有控制器属性。但是 UIPIcker 组件如何将他的控制器添加到控制器层次结构中呢?或者 UIPicker 根本没有控制器?或者这个控制器不需要在控制器层次结构中?

我需要知道这一点来开发我自己的自定义 UI 组件,这应该很容易集成。

4

1 回答 1

1

UIDatePickerUIControlthat 的子类UIView 所以它不是 a的子类UIViewController,添加UIView到视图中添加使用addSubView

如果确实是 thenUIDatePicker的子类,则必须使用UIViewControlleraddChildViewController

当您创建自定义视图时,它取决于您扩展的类,如果您扩展,UIView那么您将需要使用addSubView,如果它会扩展UIViewController然后使用addChildViewController

于 2012-06-18T09:24:47.443 回答