我想在标签栏上显示自定义视图。我看到UIAlertView
显示了UITabBar
的视图,当alertView
打开时,用户无法与标签栏进行互动。我通过使用以下代码在keyWindow
上显示它来尝试它:
[[[UIApplication sharedApplication] keyWindow] addSubview:myViewObject];
但是用户仍然可以更改标签。
答案 0 :(得分:2)
当我创建需要阻止整个窗口块并显示
的自定义控件时,我曾经使用overlayView来做//self refers to active UIViewController
UIView *overlay =[[UIView alloc]initWithFrame:self.view.window.rootViewController.view.bounds];
overlay.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.4];
overlay.tag = 1001;
[overlay setUserInteractionEnabled:YES];
[self.view.window.rootViewController.view addSubview:overlay];
您可以添加点击手势以从superview中删除overlayView。
答案 1 :(得分:1)
试试这个:
UIView *coverView = [[UIView alloc] initWithFrame:self.view.frame];
coverView.backgroundColor = [UIColor greenColor];
coverView.alpha = .3f;
UIWindow *window = [[UIApplication sharedApplication] windows].lastObject;
[window addSubview:coverView];
答案 2 :(得分:0)
显示自定义视图时,您可以在标签栏上设置tabBarController.tabBar.userInteractionEnabled = false
。