0

私は今、数時間アプリを開発しています。

テンプレートからマスタービュー詳細アプリを作成しています。AppDelegate.m didFinishLaunchingWithOptionsを使用すると、カスタムGUIコードを追加して、ナビゲーションバーなどを変更できます。それで、私は先に進んで、このようにメインナビゲーションバーの背景にカスタム背景を入れました...

//custom navbar
UIImage *navigationBarBackground = [UIImage imageNamed:@"NavigationBarBackground.png"];
[[UINavigationBar appearance] setBackgroundImage:navigationBarBackground forBarMetrics:UIBarMetricsDefault];

素晴らしい!今、私のナビゲーションバーにはカスタムbgsがあります!

マスタービュー領域に、ビューの右上に+ボタンがあります。これをクリックすると、コンテンツの残りの部分にウィンドウが開きますが、全画面表示ではなく、情報を入力する場所になります。 、フォームのように。.xibを使用して新しいクラスを作成しました。IBから新しいウィンドウをデザインしました。

しかし、新しいウィンドウがポップアップしたとき、ナビゲーションバーは私のカスタム画像ではなく、デフォルトです...

それで私はこれを変える方法を見つけるために何時間も費やしました。最後に、UIToolbarにカスタムクラスを追加することを思いつきました。これは、適用されたnavBarを作成し、特定の画像を背景にロードする新しいクラスを作成することによって作成されました。素晴らしい!そのための私の.mファイルは次のようになります。

#import "customToolbar.h" //for your information the .h for this is a blank { }

@implementation customToolbar


- (void)drawRect:(CGRect)rect
{
    CGContextRef c = UIGraphicsGetCurrentContext();
    UIImage *image = [UIImage imageNamed:@"addBusKid-NavBar.png"];
    CGContextDrawImage(c, rect, image.CGImage);
}

@end

このクラスでは、インターフェイスビルダーのナビゲーションバーに任意のbg画像を適用できます。

..。

さて、私のナビゲーションバーはすべて見栄えが良いので、テキストを変更するときが来たと思いました。それで、AppDelegate.mから始めました。

すべてのナビゲーションバーテキストのデフォルトのテキストスタイルを変更するコードを追加しました...

// Customize the title text for *all* UINavigationBars
[[UINavigationBar appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0],
  UITextAttributeTextColor,
  [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8],
  UITextAttributeTextShadowColor,
  [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
  UITextAttributeTextShadowOffset,
  [UIFont fontWithName:@"Arial-Bold" size:0.0],
  UITextAttributeFont,
  nil]];

これにより、ナビゲーションバーのテキストスタイルが変更されます...しかし、AppDelegateでnavigationBarスタイルを追加したときと同じように、.xibで作成したポップアップウィンドウを開いても、外観には影響しませんでした。したがって、どのような外観プロトコルを作成しても、カスタムクラスのxibsの外観には影響しません...

さて、私はナビゲーションバーの場合と同じようにカスタムクラスを作成しようとしました。これを適用してスタイルを与えることができます。しかし、私はこれを達成することができませんでした(あなたが知っているなら教えてください)...

そして、この.xibファイル内のテキストのスタイルを設定する方法を3時間以上探しました。AppDelegateに入れたものは何もそれに触れません!

それで、あなたに自分自身を徹底的に説明しました。したがって、私の質問は次のとおりです。

InterfaceBuilderで作成されたUIBarButtonテキストのスタイルを設定するにはどうすればよいですか。

私が作成できるカスタムクラスを知っているかどうかにかかわらず、ナビゲーションバーを実行したのと同じようにオブジェクトに適用できます。または、AppDelegateで宣言した内容に従ってスタイル設定するこの.xibsUI要素を追加する方法があります。 。教えてください。宿題をしました。

ちなみに、これが私の最初の投稿です!もう家にいるように感じます!あなたのサポートに感謝します、私は私が他の人の助けになることを願っています。

4

1 に答える 1

0

@propertyUIBarButtonItemをIBOutletとして宣言する.xib(ビューコントローラ)クラスにを作成するだけです。これを(IBを介して).xibボタン表現にリンクしてから、UIBarItem(親クラス)textAttributesメソッドのスタイルを設定します。

詳細については、このSOの質問を参照してください: UIBarButtonItemのフォントを変更するにはどうすればよいですか?

于 2012-12-26T02:29:45.280 に答える