一般一個(gè)app進(jìn)入一個(gè)新的頁面,或者有新的功能更新的時(shí)候都會有一個(gè)新手引導(dǎo)來幫助大家快速了解新功能,那么我最近就集成了這樣一個(gè)功能,我們先來看一下效果圖吧:

同時(shí)我在花川學(xué)院錄了一集視頻來講解這個(gè)第三方庫,當(dāng)然這個(gè)庫使用起來非常簡單,看我下面的代碼就可以很明白的了解到如何使用了。
(花川學(xué)院地址:www.hcxy.me ,在花川學(xué)院的這個(gè)課程里我還錄制很多其他第三方庫的使用,全部是拿swift講的。)
這個(gè)庫叫做XSportLight,XSportLight有兩個(gè)數(shù)組,一個(gè)數(shù)組內(nèi)包括所有的文字說明,一個(gè)數(shù)組內(nèi)則包括所有的聚光燈的位置和大小,位置坐標(biāo)表示聚光燈的中心位置。
我分別用OC和swift來描述了如何使用XSportLight(XSportLight是用OC寫的,使用swift的同學(xué)需要建立橋接文件)。
-
OC代碼
<pre><code>XSportLight *SportLight = [[XSportLight alloc]init];
SportLight.messageArray = @[
@"這是《簡書》",
@"點(diǎn)這里撰寫文章",
@"搜索文章",
@"這會是StrongX的下一節(jié)課內(nèi)容"
];
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 = [
"這是《簡書》",
"點(diǎn)擊這里撰寫文章",
"搜索文章",
"這將會是strongX的下一節(jié)課的內(nèi)容",
]
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還包括一個(gè)delegate 這個(gè)協(xié)議里有一個(gè)方法叫做:
- (void)XSportLightClicked:(NSInteger)index;
這個(gè)方法在每次點(diǎn)擊動作是調(diào)用,參數(shù)就是點(diǎn)擊的index。
我已經(jīng)把這個(gè)庫放在github上,大家可以自行下載,同事歡迎大家貢獻(xiàn)代碼(我寫他的時(shí)候并沒有太仔細(xì),歡迎之處問題以及修正)。
github地址:https://github.com/StrongX/XSportLight