簡體   English   中英

如何更改添加到窗口的工具欄的方向

[英]How to change orientation of toolbar which is adding to window

我正在開發一個基於tabbarcontroller的應用程序。在一個視圖控制器中,我想隱藏tabbarController而不是我想要顯示工具欄,我編寫了以下代碼

    //tabBAr hidden
    [self.tabBarController.tabBar setHidden:YES];
    //creation of tool bar
    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
     tb = [[UIToolbar alloc] init];
    //[tb setBackgroundImage:[UIImage imageNamed:@"tabbar.png"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
    tb.tintColor = [[UIColor blackColor] colorWithAlphaComponent:0.6];
    if ([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPhone)
    {
        tb.frame = CGRectMake(0, delegate.window.frame.size.height-50, 320, 44);

    }
    else
    {
        tb.frame = CGRectMake(0, delegate.window.frame.size.height-70, 768, 44);
    }

    [delegate.window addSubview:tb];

但是問題是在iPad中,我想更改工具欄的方向,但它不會改變,它始終需要縱向和縱向。

使用通知來檢測設備方向,如下所示。

// Start Orientation //
- (void)orientationChanged:(NSNotification *)notification{
    [self adjustViewsForOrientation:[[UIApplication sharedApplication] statusBarOrientation]];
}

- (void) adjustViewsForOrientation:(UIInterfaceOrientation) orientation {

    if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown)
    {
        //NSLog(@"Vertical");

    }
    else if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight)
    {
        //NSLog(@"Horizontal");

    }
}
// End Orientation //

-(void)viewWillAppear:(BOOL)animated{
    [[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification  object:nil];
}

有人在某處編寫了此通知代碼。 我沒寫

使用viewWillLayoutSubViews方法並將代碼添加到該方法的工具欄的setFrame中

例如:

- (void) viewWillLayoutSubviews
{
     [toolBar setFrmae:CGRectMake(self.view.bounds.origin.x, self.view.bounds.size.height - 44, self.view.bounds.size.width, 44)];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM