如何在Apple的Notes和Reminders应用程序中使用UINavigationBar标题中的字体描述符?

时间:2013-10-15 16:51:40

标签: objective-c ios7 uinavigationbar nsattributedstring

我已经能够在属性字符串中使用这些字体描述符。我希望能够在导航栏的标题中使用它们(在Apple Dev的旧DrillDownSave示例代码中)。我在尝试:

AppDelegate.h

@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property(nonatomic, retain) NSDictionary *titleTextAttributes;

AppDelegate.m

@synthesize window, outlineData, navigationController, savedLocation, titleTextAttributes;

- (void)customizeAppearance
{
    [[UINavigationBar appearance] setTitleTextAttributes:
                                  NSDictionary *titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor purpleColor],
                                          NSTextEffectAttributeName : NSTextEffectLetterpressStyle,
                                                NSKernAttributeName : @4,
                                      ;
                                            }

我收到了“意外的接口名称'NSDictionary':期望的表达式”和“预期的表达式”(看似关于最后一个分号)。

1 个答案:

答案 0 :(得分:0)

您在方法调用中声明了一个变量。你应该这样称呼它!

- (void)customizeAppearance
{
    [[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor purpleColor],
                                                               NSTextEffectAttributeName : NSTextEffectLetterpressStyle,
                                                                     NSKernAttributeName : @4}];

}

更新:

您可以在-application:didFinishLaunchingWithOptions:

中的应用代理中调用它
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [self customizeAppearance];
    return YES;
}