引导页的封装

作者: marlonxlj | 来源:发表于2016-10-14 23:20 被阅读27次

一、写作原因

      以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录。因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑。pod spec配置遇到的坑不在这里写,后面会单独写一点,但是内容不会太多。一是方便别人,二是方便自己。

    第一次来发帖,写的不对的地方,请大神指出。我一定好好的努力修改并向大家学习,但是还是不太喜欢一惯的喷子。就像大家说的经典一样`close your mouth show me your code`,英文不好如果错了,大家见谅。

    因为我是鼓足勇气的来写的,是想来提升的,不是来听大家一味的喷,而不是告诉我如何提高这样是让人crash的。

Demo下载地址,先上github地址,怕到后面给忘记了。如果可以请给star我,谢谢。

二、XLJNewFeture实现原理

    引导页的功能分析,其它就是一个scrollview加上一个pagecontrol最后加上一个按钮,按钮的点击事件是需要到app程序的首页。实现这个功能的方法有很多,此文只是介绍collview 来实现这个功能。

  我实现的思路是这样的,最开始设计是这样的写一个类继承自UICollectionView,然后写一个UICollectionViewCell的类来实现具体的布局。但是写完之后在AppDelegate 中设置 self.windown.rootViewController的时候总是crash掉,后来查到的原因忘记了。请知道的朋友告知,我好更新上来,感激不尽。现在使用的是直接继承自UIViewController,在UIViewController上放一个UICollectionView,再由UICollectionViewLayout布局,然后自定义一个UICollectionViewCell,最后才是button的问题。

XLJNewFeature新特性

★★★"iOS App新特性"★★★

支持pod导入

pod 'XLJNewFeature', '~> 1.0.0'

如果发现pod search XLJNewFeature 搜索出来的不是最新版本,需要在终端执行cd转换文件路径命令退回到desktop,然后执行pod setup命令更新本地spec缓存(可能需要几分钟),然后再搜索就可以了。

接口代码:

/**

*  初始化

*  @param array      传入一个数组

*  @param buttonSize  按钮的宽度和高度

*  @param buttonTitle 按钮显示的文字

*  @param imageName  按钮的图片

*@param titleColor  按钮文字的颜色

*  @param startHeight 按钮的Y的比率

*  @param controller  按钮点击跳转的界面

*@return

*/

- (instancetype)initWithNSArray:(NSMutableArray *)array withButtonSize:(CGSize)buttonSize withButtonTitle:(NSString *)buttonTitle withButtonImage:(NSString *)imageName withButtonTitleColor:(UIColor *)titleColor withButtonHeight:(CGFloat)startHeight withViewController:(UIViewController *)controller;

在AppDelegate中导入"XLJNewFetureController.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

ViewController *homeVC = [[ViewController alloc] init];

XLJNewFetureController *newVC = [[XLJNewFetureController alloc] initWithNSArray:self.mArray withButtonSize:CGSizeMake(120, 80) withButtonTitle:@"开启旅行" withButtonImage:@"functionGuideBt1" withButtonTitleColor:[UIColor orangeColor] withButtonHeight:0.87 withViewController:homeVC];

self.window.rootViewController = newVC;

[self.window makeKeyAndVisible];

return YES;

}

其中判断当前的图片是否是最后一页,是通过indexPath.row与self.mArray.cout-1来判断的。由于是最后一页,button的hidden = NO,否则就是YES.

- (void)setCurrentPageIndex:(NSInteger)currentPage lastPageIndex:(NSInteger)lastIndex

{

if (currentPage == lastIndex) {

self.startButton.hidden = NO;

}else{

self.contentView addSubview:self.startButton];

[self.startButton.hidden = YES;

}

}

PS:

注:如果有的建议可以email:marlonxlj@163.com,谢谢你的关心,是我最大动力,请star一下哦。

效果图

引导页效果图

相关文章

  • 6.4 引导页的封装

    引导页的封装1.png 引导页的封装2.png 引导页的封装3.png

  • 引导页的封装

    一、写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录。因为以前自己可以轻松的完成p...

  • iOS引导页封装

    插眼传送 引导页是App必不可少的功能之一;本Demo用简单有效的代码,封装引导页,仅需3行代码搞定,同时支持GI...

  • 关于iOS swift3.0 UICollectionView封

    关于swift封装的轮播图和引导页请看链接blog.csdn.net/cheniOSjourney/article...

  • XAnimLayout,让引导页动画easy

    XAnimLayout封装了常见的引导页动画,仅仅需要在xml中设置相关属性,即可实现translate、rota...

  • 一句话搞定新版本引导页(iOS开发)

    目前基本上所有APP均有新版本引导页,所以封装一个使用简便的就显得尤为重要了。(个人推荐:一句话搞定新版本引导页 ...

  • (Swift4.0)App引导页封装

    1.自定义引导页控制器 import UIKit let kScreenWidth = UIScreen.main...

  • APP 引导页设计5-总结

    前面4篇分别介绍了引导页的分类、展现方式、优秀引导页的特点、如何设计优秀的引导页,是时候来个总结了。 引导页分类:...

  • iOS最好用的引导页

    最近项目结束的时候又要改引导页,之前写的启动页改起来太麻烦了,所以就直接封装一个,功能可能还不是很完善,但是感觉用...

  • 引导页

    // // ViewController.m // 引导页_课堂练习 // // Created by 张羽婷 o...

网友评论

    本文标题:引导页的封装

    本文链接:https://www.haomeiwen.com/subject/hwwjlttx.html