【发布时间】:2014-12-22 12:29:32
【问题描述】:
我在导航控制器中有一个包含 10 个不同视图控制器的应用程序。我有 UIView,我将子视图添加到 sharedApplication 实例的 keyWindow 中。
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIView *myView = [UIView alloc]initWithFrame:CGRectMake(0,self.view.frame.size.width - 80,80,90)];
[window addSubView:myView];
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
btn1.frame = CGRectMake(xPos, prevVideoUIView.frame.size.height-
[btn1 addTarget:self action:@selector(button1Clicked:) forControlEvents:UIControlEventTouchUpInside];
btn1.hidden = NO;
[myView addSubview:btn1];
UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
btn2.frame = CGRectMake(xPos, prevVideoUIView.frame.size.height-
[btn2 addTarget:self action:@selector(button2Clicked:) forControlEvents:UIControlEventTouchUpInside];
btn2.hidden = NO;
[myView addSubview:btn2];
我希望通过应用程序访问 myView,无论我在哪里导航,并且操作用户可以在任何时间点将此视图放在屏幕上。问题是假设用户导航到导航控制器的第三级,并从那里用户在窗口上添加了这个“myView”作为子视图。并返回上一个视图,然后触摸 myView 上的按钮。应用程序崩溃说访问不正确。
请回复本帖。
问候,
段落
【问题讨论】:
-
创建一个单例类并在其中添加
UIView的对象,在您的任何UIViewController中实例化UIView。现在使用这个类(单例)在任何你想要的地方使用这个UIView。 -
谢谢你!!我正在寻找这个
标签: ios objective-c