11

この効果はどのように達成されますか?コードスニペットは大歓迎です。

これは、メモアプリやAppStoreの他のアプリで確認できます。

ナビゲーションコントローラーのボタンが透明でナビゲーションコントローラーのカスタム背景を表示しているか、ボタン自体にカスタム背景が適用されているようです。これがどのように達成されるかについてのアイデアはありますか?

編集:

これはiPhone用のiBooksアプリの例です。ご覧のとおり、UIButtonだけでなく、セグメント化されたコントロールにもカスタムの背景があります。透明度/背景をさまざまなインターフェイス要素にグローバルに設定する方法があると思います。

例 http://c0839932.cdn.cloudfiles.rackspacecloud.com/iBooks%201.1%20-%206.png

4

4 に答える 4

13

UIBarButtonItemアプリケーションのいたるところに配置したい場合、あなたができることはあなたAppDelegate.mとあなたのapplication:didFinishLaunchingWithOptions:メソッドにあります、あなたは書くことができます

[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage alloc] init] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

これにより、空の画像が作成され、UIBarButtonItemの背景がその画像に設定されます。あなたにそれを書くことで、あなたがそれを使用しているすべての場所があなたの戻るボタンさえも透明な背景を持っていることAppDelegateを確認するでしょう。UIBarButtonitem

于 2013-03-22T02:50:34.627 に答える
4

ある種のプロパティを設定するだけで透明にできるとは思いません(しかし、私は間違っているかもしれません)。

UIBarButtonItemのドキュメントを参照してください。initカスタム ビューまたはイメージを取得して、そこから を作成するメソッドがありますUIBarButtonItem。したがって、必要な外観のビューまたはイメージを作成して使用します。試してみたいことの 1 つは、UIButtonを希望どおりに作成してから実行することです。[[UIBarButtonItem alloc] initWithCustomView:button];

別の解決策はtintColor、あなたのプロパティUINavigationBarを任意の色に送信することです。ボタンはその色になります。

于 2010-06-20T23:20:02.470 に答える
3

また、標準UIButtonを作成してそのスタイルをカスタムに設定し、そのボタンのイメージまたは背景色を設定して にドラッグすることもできますUINavigationBar

于 2010-06-21T00:24:32.173 に答える
1

Appearance プロキシを使用して、UIBarButtonItems の backgroundImage プロパティを独自の透明な画像に設定することもできます。

UIImage *buttonImage = [[UIImage imageNamed:@"barButton"]  resizableImageWithCapInsets:UIEdgeInsetsMake(12, 8, 12, 8)];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setBackgroundImage:buttonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setBackButtonBackgroundImage:buttonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

インセットを特定の値 (11?13?) に設定するときにバグがあると思うので、問題がある場合は、そのバグに遭遇した可能性があるため、インセットを変更してみてください。

于 2013-01-03T17:25:02.440 に答える