navigation bar 更改颜色

今天郁闷了一下午,就因为objective-c默认语言是英文,我写的中文全是一些乱七八糟的样子,到不是乱码,但是,前两个自字是粗体,后两个字正常体,这可郁闷死我了,问了问大牛,人家告诉我说更改一下字体就好啦,比如改成黑体,哇塞,茅塞顿开。
      翻书看,发现,书上有介绍怎么更改表格中文字字体的,代码如下
                    cell.textLabel.font=[UIFont fontWithName:@"黑体" size:50];
     要西,超级简单的,只要把这行代码放入你的- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中就行拉,原来的字体一下子正常了。
     可是问题又来了,那么title的字体呢,中文网翻了半天,没找到,那么就硬着头皮找英文网吧,皇恩浩荡啊,终于让我找到了。

     UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(([self.title length] < 10 ? UITextAlignmentCenter : UITextAlignmentLeft), 0, 480,44)];
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont fontWithName:@"黑体" size:60];
    label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
    label.textAlignment = UITextAlignmentCenter;
    label.textColor = [UIColor brownColor];
   label.text=self.title;
   self.navigationItem.titleView = label;
   [label release];
这样就可以随意更改字体了。
顺便说一下,如果想改变navigation bar本身的颜色,也很简单

self.navigationController.navigationBar.tintColor = [UIColor blackColor];
一行代码搞定。
看到这里,你也许会想,iphone里面到底都有些什么字体和颜色呢,用下面的代码就可以轻松地将所有颜色和字体输出在调试窗口中(代码转贴自网络,本人没有测试过 ^.^)

01
NSArray* familys = [UIFont familyNames];
02

03
for (int i = 0; i<[familys count]; i++) {
04
    
05
    NSString* family = [familys objectAtIndex:i];
06
    NSLog(@"rnrnFontfamily:%@rn=====",family);
07

08
    NSArray* fonts = [UIFont fontNamesForFamilyName:family];
09

10
    for (int j = 0; j<[fonts count]; j++) {
11
    
12
        NSLog(@"%@",[fonts objectAtIndex:j]);
13
    }
14
}

好了,终于不郁闷了,希望对有需要这方面知识的人有帮助

你可能感兴趣的