一般一個app進入一個新的頁面蜜唾,或者有新的功能更新的時候都會有一個新手引導(dǎo)來幫助大家快速了解新功能蕊苗,那么我最近就集成了這樣一個功能柿赊,我們先來看一下效果圖吧:
同時我在花川學(xué)院錄了一集視頻來講解這個第三方庫趋急,當(dāng)然這個庫使用起來非常簡單蒋川,看我下面的代碼就可以很明白的了解到如何使用了廉油。
(花川學(xué)院地址:www.hcxy.me 惠险,在花川學(xué)院的這個課程里我還錄制很多其他第三方庫的使用,全部是拿swift講的抒线。)
這個庫叫做XSportLight班巩,XSportLight有兩個數(shù)組,一個數(shù)組內(nèi)包括所有的文字說明嘶炭,一個數(shù)組內(nèi)則包括所有的聚光燈的位置和大小抱慌,位置坐標(biāo)表示聚光燈的中心位置。
我分別用OC和swift來描述了如何使用XSportLight(XSportLight是用OC寫的眨猎,使用swift的同學(xué)需要建立橋接文件)抑进。
-
OC代碼
<pre><code>XSportLight *SportLight = [[XSportLight alloc]init];
SportLight.messageArray = @[
@"這是《簡書》",
@"點這里撰寫文章",
@"搜索文章",
@"這會是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 = [
"這是《簡書》",
"點擊這里撰寫文章",
"搜索文章",
"這將會是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還包括一個delegate 這個協(xié)議里有一個方法叫做:
- (void)XSportLightClicked:(NSInteger)index;
這個方法在每次點擊動作是調(diào)用,參數(shù)就是點擊的index睡陪。
我已經(jīng)把這個庫放在github上寺渗,大家可以自行下載匿情,同事歡迎大家貢獻代碼(我寫他的時候并沒有太仔細,歡迎之處問題以及修正)信殊。
github地址:https://github.com/StrongX/XSportLight