mru*_*ueg 14 iphone cocoa-touch hierarchy uiviewcontroller parentviewcontroller
UIViewController的parentViewController属性是readonly,但我正在嵌套自定义视图控制器并希望使用此属性.
但是,由于它是只读的,我发现没有其他的方法来设置该属性,我quesion是:如何做我设置呢?
显然,UINavigationController可以在-pushViewController中以某种方式设置属性,因此-presentModalViewController也是如此,所以它必须是可能的.
我知道我可以添加自己的UIViewController属性,但我确信parentViewController原则上是正确的属性.
abu*_*sky 11
解决方案是:
- (void)setParentController:(UIViewController*)parent{
[self setValue:parent forKey:@"_parentViewController"];
}
Run Code Online (Sandbox Code Playgroud)
它不会导致链接器出现问题!
PS:不要使用"setParentViewController"作为方法名称,因为此方法存在于私有API中,Apple说:"应用程序中包含的非公共API是setParentViewController:.
如果您在源代码中使用与上述API相同的名称定义了一个方法,我们建议您更改方法名称,以便它不再与Apple的私有API发生冲突,以避免您的应用程序被标记为未来的提交.
请在下次更新中解决此问题......"
Kob*_*ski 10
我意识到这个问题是在iOS 5之前提出的,但是作为参考,你应该在想要嵌套UIViewControllers时使用addChildViewController.这也将自动设置parentViewController属性.
- (void)addChildViewController:(UIViewController *)childController NS_AVAILABLE_IOS(5_0);
Run Code Online (Sandbox Code Playgroud)
您可以在Apple阅读有关"创建自定义内容视图控制器"的更多信息.
| 归档时间: |
|
| 查看次数: |
15639 次 |
| 最近记录: |