Swift与OC代码转换实例

1.

Objectice-C code:

 1 NSShadow *shadow = [NSShadow new];
 2 
 3 [shadow setShadowColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]];
 4 
 5 [shadow setShadowOffset:CGSizeMake(0, 1)];
 6 
 7 NSDictionary *attributes = @{
 8 
 9                                 NSForegroundColorAttributeName: [UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0],
10 
11                                 NSShadowAttributeName: shadow,
12 
13                                 NSFontAttributeName: [UIFont fontWithName:@"AmericanTypewriter" size:16.0]
14 
15                              };
16 
17 [self.navigationItem.rightBarButtonItem setTitleTextAttributes:attributes forState: UIControlStateNormal];
18 
19 // Or you can use.
20 
21 [[UIBarItem appearance] setTitleTextAttributes:attributes forState: UIControlStateNormal];

Swift Code:

// Bar title text color

let shadow = NSShadow()

shadow.shadowColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)

shadow.shadowOffset = CGSizeMake(0, 1)

let color : UIColor = UIColor(red: 220.0/255.0, green: 104.0/255.0, blue: 1.0/255.0, alpha: 1.0)

let titleFont : UIFont = UIFont(name: "AmericanTypewriter", size: 16.0)!

let attributes = [

                        NSForegroundColorAttributeName : color,

                        NSShadowAttributeName : shadow,

                        NSFontAttributeName : titleFont

                 ]

self.navigationItem.rightBarButtonItem?.setTitleTextAttributes(attributes, forState: UIControlState.Normal)

// Or you can use

UIBarItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Normal)

 2.

OC:

    //设置导航栏字体颜色

    [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil]];

    //[UIFont fontWithName:@"Arial-Bold" size:0.0], UITextAttributeFont

Swift:

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor(),

        NSFontAttributeName: UIFont(name: "Heiti SC", size: 24.0)!]

3.

OC: 

//改变UITabBarItem字体颜色

    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:0 green:0.72 blue:0.69 alpha:1],UITextAttributeTextColor, nil] forState:UIControlStateSelected];

Swift:

let attributes =  [NSForegroundColorAttributeName: UIColor(red: 0, green: 0.72, blue: 0.69, alpha: 1)]

        UITabBarItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Selected)

4.

OC:

//警示样式

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"这是个UIAlertController的默认样式" preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:nil];

    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];

    [alertController addAction:cancelAction];

    [alertController addAction:okAction];

    [self presentViewController:alertController animated:YES completion:nil];

Swift:

//警示样式

        let alertController = UIAlertController(title: "标题", message:"这个是UIAlertController的默认样式", preferredStyle: UIAlertControllerStyle.Alert)

        let cancelAction = UIAlertAction(title: "取消", style:UIAlertActionStyle.Destructive, handler: nil)

        let okAction = UIAlertAction(title: "确定", style:UIAlertActionStyle.Default, handler:nil)

        alertController.addAction(cancelAction)

        alertController.addAction(okAction)

        self.presentViewController(alertController,animated:true,completion:nil)

 

posted @ 2015-10-07 11:36  AbelSu  阅读(3665)  评论(0编辑  收藏  举报