将View Controller的视图添加到UIAlertView(Objective c)

时间:2014-03-11 11:40:21

标签: ios objective-c uialertview

ViewController UITableView。如果我触摸任何Cell,它会在另一个视图中显示有关此Cell的信息。它运作良好。但是当我将MyViewController view添加到UIAlerView的视图时,如果我触及AlertView,则会产生运行时错误。 这是我的代码:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
MyViewController *VC = [[MyViewController alloc] init];
[alert setValue:VC.view forKey:@"accessoryView"];
[alert show];

任何帮助请... 我的程序显示如下:

enter image description here

1 个答案:

答案 0 :(得分:3)

屏幕上只显示警报视图。当调用控制器当前可见时无关紧要,调用show方法时,警报视图将作为顶视图添加。

在视图控制器方面唯一重要的是你想要哪一个作为委托视图控制器,它可以被分配给除self之外的对象。

将您的代码重构为:

MyViewController *VC = [[MyViewController alloc] init];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"" delegate:VC cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];

注意您想要显示的VC现在是警报的代表吗?