当UIButton的帧位于其父级帧之外时,UIButton(或任何其他控件)是否可以接收触摸事件?因为当我尝试这个时,我的UIButton似乎无法接收任何事件.我该如何解决这个问题?
我目前正在修复一个旧应用程序(在iOS 5时代内置)中的问题,其中按钮触摸事件在屏幕底部被忽略.我能够通过创建一个新项目,删除故事板(以及Info plist中的引用)来重新创建这个问题,并在didFinishLaunchingWithOptions中执行以下操作(我知道这不是正确的方法,但这个应用程序我'我正在进行类似的设置)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
self.window.screen = [UIScreen mainScreen];
UIViewController *vc = [[UIViewController alloc] init];
vc.view.backgroundColor = [UIColor yellowColor];
self.window.rootViewController = vc;
UIButton *test = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[test setTitle:@"Hey" forState:UIControlStateNormal];
[test setBackgroundColor:[UIColor whiteColor]];
test.frame = CGRectMake(0, 824, 200, 200);
[vc.view addSubview:test];
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
一旦我运行这个应用程序,"嘿"按钮只能按下它的上半部分.我感觉它与iOS 7状态栏有关,以及UI现在如何在它下面而不是在它下面.我尝试调整窗口的界限,但这没有用.我已经尝试了各种各样的东西来使这个按钮工作,但唯一有效的是隐藏状态栏.
任何人都有任何线索如何让这个按钮在这种情况下工作?