2011-01-22 1 views
0

私はTabBarControllerアプリケーションを持っています。タブバーのカスタムボタンの問題

このコードdidFinishingLaunching方法で:

UIImage *buttonImage = [UIImage imageNamed:@"post-button2.png"]; 

UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; 

NSLog(@"Button size: %f, %f", buttonImage.size.width, buttonImage.size.height); 

button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height); 
[button setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

CGFloat heightDifference = buttonImage.size.height - self.tabBarController.tabBar.frame.size.height; 

NSLog(@"self.tabBarController.tabBar.frame.size.height: %f", self.tabBarController.tabBar.frame.size.height); 
NSLog(@"heightDifference: %f", heightDifference); 
NSLog(@"%Tabbar: %f, %f", tabBarController.tabBar.center.x, tabBarController.tabBar.center.y); 
if (heightDifference < 0) 
    button.center = tabBarController.tabBar.center; 
else { 
    CGPoint center = self.tabBarController.tabBar.center; 
    center.y = center.y - heightDifference/2.0; 
    button.center = tabBarController.tabBar.center; 
} 

NSLog(@"%Button: %f, %f", button.center.y, button.center.x); 

[tabBarController.view addSubview:button]; 

[self.window addSubview:tabBarController.view]; 
[self.window makeKeyAndVisible]; 

出力は次のとおりです。

alt text

問題がありますか?ハードコードされたコードで解決することができます:

CGPoint center = tabBarController.tabBar.center; 
center.x = 160.00; 
center.y = 455.50; 

button.center = center; 

しかし、私はそれが正しいかどうかは分かりません。

Ty。

答えて

0

タブのイメージを設定するには、タブに関連付けられたビューコントローラのtabBarItemを設定する必要があります。

カスタムイメージで作成する方法については、UITabBarItemリファレンスを参照してください。

カスタムイメージを使用してUITabBarItemオブジェクトを作成し、そのタブのviewcontrollerのtabBarItemプロパティにします。

UITabBarControllerは、画像を適切な場所に置くことを管理します。

+0

タブバーアイテムではなく、タブバー上のカスタムボタンです。 –

関連する問題