iphone将视图控制器添加为子视图

时间:2011-07-11 08:59:31

标签: iphone ios4 uiviewcontroller modal-dialog

我想显示一个模态视图,但不想使用标准方法,因为它们不允许我按照我喜欢的方式设置子视图的动画。 我尝试了 fowlloing代码:

EventsCalendarController *calController = [[EventsCalendarController alloc] init];
calController.modalPresentationStyle = UIModalPresentationFormSheet;

[self presentModalViewController:calController animated:YES];

[calController release];

但问题是我想使用一些动画来展示它,所以我使用以下代码以及[UIView beginAnimation]等...

EventsCalendarController *calController = [[EventsCalendarController alloc] init];
calController.modalPresentationStyle = UIModalPresentationFormSheet;

[self.view addSubview:calController.view];


[calController release];

问题在于每当我从'EventsCalendarController'调用以下代码时,我都会遇到异常:

- (IBAction)btnClose_TouchUpInside:(id)sender {
    [self.view removeFromSuperview];
}

这是例外:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType btnClose_TouchUpInside:]: unrecognized selector sent to instance 0x7029d60'

如何解决/克服这个问题?谢谢。

更新: 解决:我在GitHub上找到了以下代码:https://github.com/horaceho/iphone-custom-dialogbox 这是一个完整的例子,只需很少的代码即可编写。我找不到原作者,所以我只是链接到代码......

1 个答案:

答案 0 :(得分:0)

您是否尝试删除已添加为子视图的日历视图?如果是的话 代码必须是这样的:

[calController removeFromSuperview];