2012-01-18 17 views
0

私は、タブバーの背景に素敵な画像を置いていたが、その動作を停止した次のコードを用意しました。誰にも私ができることについて他の提案がありますか? Setting a background image for a tabbarタブバーに背景画像を設定する

-(void)viewDidLoad 
{ 
    CGRect frame = CGRectMake(0, 0, 480, 49); 
    UIView *v = [[UIView alloc] initWithFrame:frame]; 
    UIImage *i = [UIImage imageNamed:@"smallMenuBackground.png"]; 
    UIColor *c = [[UIColor alloc] initWithPatternImage:i]; 
    v.backgroundColor = c; 
    [c release]; 
    [mainTabBar insertSubview:v atIndex:0]; 
    [v release]; 
    [super viewDidLoad]; 
} 

すべてのヘルプは感謝:ここに見られるように、私はいくつかの他のオプションを試してみました。

UPDATEの2012年1月23日

[OK]を、私は進歩のビットを作りました。 Xcode 4.2とIOS5にアップグレードして以来、これは動作しなくなりました。私はInterface Builderのオプションを使ってそれを取り戻すことができましたが、現在はIOS5でしか動作しません。理想的には私はプログラム的に働くことが好きだったでしょうが、今のところ私はIBソリューションのために解決します。

以前のリリースでは動作しないようです。

注:私のTabBarは、私のrootviewcontroller上にのみあり、他のスクリーンはありません。

よろしく、スティーブン

+0

ラインがself.view.backgroundColor設定された画像の色=の前に追加[UIColorを:あなたはちょうどその方法が利用可能であるかどうかを検出するために、このような何かを、直接のiOS 5でタブバー上backgroundImageのとtintColorなどのプロパティを設定することができますclearColor]; – Amit

+0

Amit、これはメインビューの背景色をクリアします。そのタブバーは私が興味を持っている。 – Stephen

+0

停止して以来...? – jrturton

答えて

3

あなたはので、新しい外観のAPIのいずれかよりiOS5をでスタイルタブ・バーにそのサブビューのトリックを必要としません。

if ([mainTabBar respondsToSelector:@selector(setBackgroundImage:)]) 
{ 
    mainTabBar.backgroundImage = someImage; 
} 
else 
{ 
    //use the old iOS4 subview hack 
} 
+0

正解は+1 – Till

+0

ニック、私はエラーが発生しました: 'backgroundImage'プロパティが 'UITabBar *'タイプのオブジェクトに見つかりません。 – Stephen

+0

iOS5 SDKをビルドしていますか?ターゲットビルド設定のベースSDKがiOS 5.0であることを確認します。 (展開ターゲットが4.xの場合は問題ありません)。 –

関連する問題