在iOS中的标签栏上显示自定义视图

时间:2015-11-20 07:29:56

标签: ios objective-c xcode uitabbarcontroller uialertview

我想在标签栏上显示自定义视图。我看到UIAlertView显示了UITabBar的视图,当alertView打开时,用户无法与标签栏进行互动。我通过使用以下代码在keyWindow上显示它来尝试它:

[[[UIApplication sharedApplication] keyWindow] addSubview:myViewObject];

但是用户仍然可以更改标签。

3 个答案:

答案 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