単一のタブ (UITabbarItem) の高さを上げて、残りのタブを UITabBar で同じ高さに保つ方法はありますか。
質問する
1722 次
4 に答える
5
私はあなたがインスタグラム(以前のインスタグラム)またはtabBarItemsの1つが他のものよりはるかに大きかったキークのようなインターフェースを作ろうとしていると推測しています。
2つのオプションがあります。
アイテムの1つをはるかに大きくしてcustomTabBarを作成します。(これはお勧めしません)
既存のtabBarItemsをそのまま保持します。カスタムのものは必要ありません。必要な高さと形状でを作成し、
UIButton
それをtabBarItemの上に追加するだけです。
次に、UITabBarControllerのサブクラスを作成し、UITabBarの上にカスタムUIButtonを追加します。
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setBackgroundImage:highlightImage forState:UIControlStateHighlighted];
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;
}
[self.view addSubview:button];
于 2012-09-28T05:09:31.440 に答える
1
私の経験から、UITabBarクラスを拡張する必要があり、UITabBarItemsを初期化するときに、それに応じて高さを設定します。また、UITabBarの背景画像を作成します。
于 2012-09-28T05:07:33.970 に答える
1
customTabBar を使用できます。ここでは、そのサンプルとその優れたクラスを取得でき、サイズに応じて tabBar アイテムを設定できます。
于 2012-09-28T06:20:27.327 に答える
1
Swift 2.0 では、UITabBarController のサブクラスを持ち、次のコードを使用して UIButton を追加できます。
let button: UIButton = UIButton(type: UIButtonType.Custom)
button.backgroundColor = UIColor.clearColor()
let buttonImage: UIImage = UIImage(named: "logo")!
let buttonImageHighlighted: UIImage = UIImage(named: "logoHighlighted")!
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
button.setBackgroundImage(buttonImage, forState: UIControlState.Normal)
button.setBackgroundImage(buttonImageHighlighted, forState: UIControlState.Highlighted)
let heightDifference:CGFloat = buttonImage.size.height - self.tabBar.frame.size.height;
if (heightDifference < 0) {
button.center = self.tabBar.center;
} else {
var center: CGPoint = self.tabBar.center;
center.y = center.y - heightDifference/2.0;
button.center = center;
}
self.view.addSubview(button)
于 2015-12-10T21:38:54.223 に答える