3

カスタムの背景画像を含むナビゲーションバーを使用しています。カスタムシャドウ画像を追加したいのですが、デフォルトのシャドウ画像でも表示されないことに驚きました。

iOS 6では、UINavigationBarsに自動ドロップシャドウが導入されました。http://www.raywenderlich.com/21703/user-interface-customization-in-ios-6のサンプルプロジェクトは、これを示しています。

ただし、XcodeのMaster-Detailテンプレートから新しいプロジェクトを作成しても、影は表示されません。

影が正確に表示されるのはいつですか、表示されないのはいつですか。

4

5 に答える 5

1

iOS5からアップグレードされたプロジェクトでも同じ問題が発生しましたが、iOS6より前のXcodeバージョンに挿入されたナビゲーションコントローラーでのみ発生しました。それらを削除し、最新バージョンのXcode(4.6)で新しいものと交換すると、問題が修正されました。

于 2013-02-11T11:08:46.933 に答える
0

ヤンの答えに加えて、このようなグローバルな修正を行うカテゴリを作成できます

@interface UINavigationBar (JTDropShadowFix)

@end

@implementation UINavigationBar (JTDropShadowFix)

- (void)awakeFromNib {
    self.clipsToBounds = NO;
}

@end

カテゴリ メソッドをハッキングせずに解決策を探している場合は、UINavigationController サブクラスを使用して同じ修正を行う方法について説明しているブログ投稿を参照することもできます。

http://ioscodesnippet.com/post/61487770156/custom-shadow-image-on-navigation-bar-ios6-fix

于 2013-09-17T09:59:00.767 に答える
0

いくつかのコンテキストを追加するには: 1 年前のアプリCocktailiciousを取得し、ルートUINavigationViewUITabBarController. その後、古いものにはClip SubviewsUINavigationBarプロパティがインターフェイスビルダーでチェックされていました。

埋め込みプロセスで、タブバーの新しいタブ用に 2 つ目のナビゲーション コントローラーも追加しました。驚くべきことに、このコントローラーにはClip Subviewsがチェックされていない状態で付属していました。xcodeの問題のように感じます。

于 2014-03-29T04:10:27.643 に答える