iOS :聚光灯效果的功能引导

一般一个app进入一个新的页面,或者有新的功能更新的时候都会有一个新手引导来帮助大家快速了解新功能,那么我最近就集成了这样一个功能,我们先来看一下效果图吧:

10.gif

同时我在花川学院录了一集视频来讲解这个第三方库,当然这个库使用起来非常简单,看我下面的代码就可以很明白的了解到如何使用了。
(花川学院地址:www.hcxy.me ,在花川学院的这个课程里我还录制很多其他第三方库的使用,全部是拿swift讲的。)

这个库叫做XSportLight,XSportLight有两个数组,一个数组内包括所有的文字说明,一个数组内则包括所有的聚光灯的位置和大小,位置坐标表示聚光灯的中心位置。
我分别用OC和swift来描述了如何使用XSportLight(XSportLight是用OC写的,使用swift的同学需要建立桥接文件)。

  • OC代码
    <pre><code>

    XSportLight *SportLight = [[XSportLight alloc]init];
    SportLight.messageArray = @[
    @"这是《简书》",
    @"点这里撰写文章",
    @"搜索文章",
    @"这会是StrongX的下一节课内容"
    ];
    SportLight.rectArray = @[
    [NSValue valueWithCGRect:CGRectMake(0,0,0,0)],
    [NSValue valueWithCGRect:CGRectMake(SCREEN_WIDTH/2, SCREEN_HEIGHT - 20, 50, 50)],
    [NSValue valueWithCGRect:CGRectMake(SCREEN_WIDTH - 20, 42, 50, 50)],
    [NSValue valueWithCGRect:CGRectMake(0,0,0,0)]
    ];

    SportLight.delegate = self;
    [self presentViewController:SportLight animated:false completion:^{

    }];
    </code></pre>

  • swift代码
    <pre><code>

var firstAppear = NSUserDefaults.standardUserDefaults().objectForKey("firstAppear") as? Bool
if firstAppear != true {
NSUserDefaults.standardUserDefaults().setObject(true, forKey: "firstAppear")
var sportlight = XSportLight()
sportlight.messageArray = [
"这是《简书》",
"点击这里撰写文章",
"搜索文章",
"这将会是strongX的下一节课的内容",
]
sportlight.rectArray = [
NSValue(CGRect:CGRectMake(0, 0, 0, 0)),
NSValue(CGRect:CGRectMake(SCREEN_WIDTH/2, SCREEN_HEIGHT - 20, 50, 50)),
NSValue(CGRect:CGRectMake(SCREEN_WIDTH - 20, 42, 50, 50)),
NSValue(CGRect:CGRectMake(SCREEN_WIDTH/2, SCREEN_HEIGHT - 20, 0, 0)),
]
sportlight.delegate = self

        self.presentViewController(sportlight, animated: false, completion: { () -> Void in
            
        })

    }

</code></pre>

XSportLight还包括一个delegate 这个协议里有一个方法叫做:
- (void)XSportLightClicked:(NSInteger)index;
这个方法在每次点击动作是调用,参数就是点击的index。

我已经把这个库放在github上,大家可以自行下载,同事欢迎大家贡献代码(我写他的时候并没有太仔细,欢迎之处问题以及修正)。
github地址:https://github.com/StrongX/XSportLight

推荐阅读更多精彩内容