2016-12-12 4 views
0

カスタムタブバーを作成し、中央の位置にカスタムイメージを追加しました。次のコードは、期待どおりに動作します。私のカスタムボタンをタブバーの中央に追加します。カスタムツールバーボタンを非表示

CustomTabBarViewController.m

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    UIImage* buttonImage = [UIImage imageNamed:@"icon_floating.png"]; 
    button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height); 
    [button setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

    CGFloat heightDifference = buttonImage.size.height - self.tabBar.frame.size.height; 
    if (heightDifference < 0) 
     button.center = self.tabBar.center; 
    else 
    { 
     CGPoint center = self.tabBar.center; 
     center.y = center.y - heightDifference/2.0; 
     button.center = center; 
    } 

    [button addTarget:self 
       action:@selector(myAction) 
    forControlEvents:UIControlEventTouchUpInside]; 

    [self.view addSubview:button]; 

} 

-(void) myAction 
{ 
    self.selectedIndex = 2; 
} 

次のように私が直面している問題。私がtabbarを隠すviewcontroller - ChatViewContollerがあります。カスタムボタンがtabbarに追加されているため、次のコードでカスタムボタンを非表示にできませんでした。

ChatViewController.m

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    CustomTabBarViewController* tab = [[CustomTabBarViewController alloc] init]; 
    tab.button.hidden = YES; 
} 
+0

chatVC viewdidloadメソッドの既存のタブバーを参照してみてください – sanman

答えて

1

温泉、代わりに、中央のボタンを隠しながら、新しいものを作成する元のタブバーオブジェクトを参照してくださいつまり

CustomTabBarViewController* tab = //reference to existing tabbar 

代わりに

CustomTabBarViewController* tab = [[CustomTabBarViewController alloc] init]; 

をクリックして、ボタンを隠すようにしてください

関連する問題