[程序員日記]iOS引導(dǎo)頁LQIntroView

引導(dǎo)頁是app下載后打開的第一頁斑鼻,也決定著用戶對軟件的第一印象持寄。在很多app中都是以多張圖片通過滾動的方式介紹軟件的內(nèi)容召边,但形式過于單調(diào)》撇纾現(xiàn)今app中吉挣,有通過視頻形式介紹(如keep等)派撕,都是在加強軟件的吸引力。下面這個框架這是曾經(jīng)一個項目中使用的框架听想,當(dāng)然還是以圖片為主腥刹,但加入了透明度漸變的效果,正價注重用戶體驗汉买。先來看效果:

簡述

  • LQIntroPageManager 引導(dǎo)頁管理類衔峰,主要控制引導(dǎo)頁只顯示一次(app初次下載或更新時)
  • LQIntroView 引導(dǎo)頁視圖,設(shè)置引導(dǎo)頁的一些效果
  • LQIntroPage 具體引導(dǎo)頁蛙粘,可設(shè)置圖片垫卤,文字等

使用

  • 1.創(chuàng)建若干LQIntroPage,設(shè)置每一頁的圖片出牧、文字
  • 2.創(chuàng)建LQIntroView穴肘,通過initWithFrame:(CGRect)frame andPages:(NSArray *)pagesArray方法傳入LQIntroPage數(shù)組
  • 3.設(shè)置代理(引導(dǎo)頁結(jié)束時調(diào)用)
  • 4.通過showInView:(UIView *)view animateDuration:(CGFloat)duration將其添加到當(dāng)前view上
@property (nonatomic, strong) LQIntroView       *intro;

- (void)showCustomIntro {
    LQIntroPage *page1 = [LQIntroPage page];
    page1.bgImage = [UIImage imageNamed:@"歡迎頁1"];

    LQIntroPage *page2 = [LQIntroPage page];
    page2.bgImage = [UIImage imageNamed:@"歡迎頁2"];

    LQIntroPage *page3 = [LQIntroPage page];
    page3.bgImage = [UIImage imageNamed:@"歡迎頁3"];

    _intro = [[LQIntroView alloc] initWithFrame:self.view.bounds andPages:@[page1,page2,page3]];

    [_intro setDelegate:self];
    [_intro showInView:self.view animateDuration:0.0];
}
  • 5.調(diào)用方法,通過[[LQIntroPageManager sharedInstance] disPlayTheIntroPage]判斷是否執(zhí)行
if ([[LQIntroPageManager sharedInstance] disPlayTheIntroPage]) {
    [self showCustomIntro];
}

主要方法

  • LQIntroPageManager

單例類初始化

  + (instancetype)sharedInstance;

是否需要顯示(安裝后首次顯示)

  - (BOOL)disPlayTheIntroPage;
  • LQIntroView

設(shè)置大小及數(shù)組

- (id)initWithFrame:(CGRect)frame andPages:(NSArray *)pagesArray;

設(shè)置位置及出現(xiàn)動畫時間

- (void)showInView:(UIView *)view animateDuration:(CGFloat)duration;

設(shè)置消失時間

- (void)hideWithFadeOutDuration:(CGFloat)duration;
  • LQIntroPage

初始化
+ (LQIntroPage *)page;

自定義初始化

+ (LQIntroPage *)pageWithCustomView:(UIView *)customV;
  • LQIntroDelegate

處理消失后要做的事

- (void)introDidFinish;

補充

兼容iPad和iPhone

因為在我的項目中要求iPad和iPhone兼容舔痕,即一個包同時支持兩種設(shè)備评抚,所以淺談一下版本兼容和這個view的改法。在項目中伯复,遇到同一個項目同時兼容iPad和iPhone時往往希望能夠用最少量的代碼完成慨代。

我在做兼容時會定義兩個宏

//適配iPhone尺寸
#define SIZE_SCALE_IPHONE6(x)   (x * ([UIScreen mainScreen].bounds.size.width / 375))
//適配iPad尺寸
#define SIZE_SCALE_IPADAIR(x)   (x * ([UIScreen mainScreen].bounds.size.width / 768))

在使用時如字體,定義大小時加上這個宏啸如,如在Masory中:

make.top.equalTo(_loginBtn.mas_bottom).with.offset(SIZE_SCALE_IPHONE6(10));

一般情況下侍匙,會通過UI_USER_INTERFACE_IDIOM()判斷當(dāng)前設(shè)備是iPhone還是iPad,然后執(zhí)行不同的代碼叮雳。 其枚舉類型如下:

typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom) {
    UIUserInterfaceIdiomUnspecified = -1,
    UIUserInterfaceIdiomPhone NS_ENUM_AVAILABLE_IOS(3_2), // iPhone and iPod touch style UI
    UIUserInterfaceIdiomPad NS_ENUM_AVAILABLE_IOS(3_2), // iPad style UI
    UIUserInterfaceIdiomTV NS_ENUM_AVAILABLE_IOS(9_0), // Apple TV style UI
    UIUserInterfaceIdiomCarPlay NS_ENUM_AVAILABLE_IOS(9_0), // CarPlay style UI
};

LQIntroView中若要修改需手動修改

感謝查看想暗,希望多多指正!
文章優(yōu)先發(fā)表于:http://keyliu.com
轉(zhuǎn)載請注明出處帘不。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末说莫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寞焙,更是在濱河造成了極大的恐慌唬滑,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棺弊,死亡現(xiàn)場離奇詭異晶密,居然都是意外死亡,警方通過查閱死者的電腦和手機模她,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門稻艰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人侈净,你說我怎么就攤上這事尊勿∩铮” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵元扔,是天一觀的道長躯保。 經(jīng)常有香客問我,道長澎语,這世上最難降的妖魔是什么途事? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮擅羞,結(jié)果婚禮上尸变,老公的妹妹穿的比我還像新娘。我一直安慰自己减俏,他們只是感情好召烂,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娃承,像睡著了一般奏夫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上历筝,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天酗昼,我揣著相機與錄音,去河邊找鬼漫谷。 笑死仔雷,一個胖子當(dāng)著我的面吹牛蹂析,可吹牛的內(nèi)容都是我干的舔示。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼电抚,長吁一口氣:“原來是場噩夢啊……” “哼惕稻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝙叛,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤俺祠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后借帘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜘渣,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年肺然,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔫缸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡际起,死狀恐怖拾碌,靈堂內(nèi)的尸體忽然破棺而出吐葱,到底是詐尸還是另有隱情,我是刑警寧澤校翔,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布弟跑,位于F島的核電站,受9級特大地震影響防症,放射性物質(zhì)發(fā)生泄漏孟辑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一告希、第九天 我趴在偏房一處隱蔽的房頂上張望扑浸。 院中可真熱鬧搁料,春花似錦新啼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酝惧。三九已至,卻和暖如春伯诬,著一層夾襖步出監(jiān)牢的瞬間晚唇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工盗似, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哩陕,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓赫舒,卻偏偏與公主長得像悍及,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子接癌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫心赶、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,025評論 4 62
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評論 25 707
  • 公司:港豐投資顧問有限公司 團隊:業(yè)務(wù)團隊 產(chǎn)品名稱:香港和離岸公司注冊 聯(lián)系人:李瑞琪 電話:138265760...
    GentleKi琪跡閱讀 190評論 1 0
  • 我喜歡“符碼”這個詞。 仿佛一切艱澀之事荔燎、幽微之境耻姥,都可以通過符碼豁然開朗。仿佛一切漫長而幽暗的掙扎都可以通過符碼...
    張伶閱讀 475評論 0 0
  • 說到馬爾克斯有咨,很多人都會聯(lián)系到《百年孤獨》琐簇,當(dāng)然還有《一場欲揚先抑的兇殺案》,《枯枝敗葉》摔吏,《超越愛情的永...
    宋先生失眠中閱讀 1,171評論 0 2