我以编程方式为UITabBarController
创建视图。
ViewController.m
@interface ViewController ()
{
UITabBarController *tabBarController;
MainViewController *mainView;
GroupViewController *grpView;
}
-(id)init
{
self=[super init];
[self initControl];
return self;
}
-(void)initControl
{
}
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"ViewController - viewDidLoad");
self.mainView=[[MainViewController alloc] init];
self.grpView=[[GroupViewController alloc] initWithNibName:@"GroupViewController" bundle:[NSBundle mainBundle]];
self.meView=[[MeViewController alloc] initWithNibName:@"MeViewController" bundle:[NSBundle mainBundle]];
UITabBarItem *tempItem=[[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"Device", @"Device") image:[[UIImage imageNamed:@"device1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] tag:1];
tempItem.selectedImage=[UIImage imageNamed:@"device"];
mainView.tabBarItem=tempItem;
tempItem.imageInsets = UIEdgeInsetsMake(0.0, 0, -0.0, 0);
tempItem=[[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"Group", @"Group") image:[[UIImage imageNamed:@"group1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] tag:2];
tempItem.selectedImage=[UIImage imageNamed:@"group1"];
grpView.tabBarItem=tempItem;
tempItem.imageInsets = UIEdgeInsetsMake(0.0, 0, -0.0, 0);
self.tabBarController= [[UITabBarController alloc] init];
NSMutableArray *controllers=[[NSMutableArray alloc] initWithCapacity:2];
[controllers addObject:self.mainView];
[controllers addObject:self.grpView];
self.tabBarController.viewControllers =controllers;
[self.view addSubview:self.tabBarController.view];
self.tabBarController.delegate=self;
}
个人热点关闭时工作正常。
当我打开热点并且有人连接到iPhone,而不是打开应用程序。 view
不在屏幕之外,如以下屏幕截图个人热点开启时。
个人热点开启后如何解决问题? 提前谢谢。
答案 0 :(得分:2)
检查
添加观察者状态栏改变了长度:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(StatusbarspaceHide:) name:UIApplicationWillEnterForegroundNotification object:nil];
状态栏更改时操作:
-(void)StatusbarspaceHide:(NSNotificationCenter *)notification{
[UIView animateWithDuration:0.35 animations:^{
// CGRect windowFrame = ((UINavigationController *)((UITabBarController *)self.window.rootViewController).viewControllers[0]).view.frame;
CGRect windowFrame = self.view.frame;
if (self.view.frame.origin.y > 20) {
windowFrame.origin.y = self.view.frame.size.height - 20 ;// old status bar frame is 20
}
self.view.frame = windowFrame;
}];
}