【iOS开发-13】大神器:如何利用cocoapods使用第三方类库,以针对UISwitch的第三方类库为例

上一篇笔记以及之前部分笔记里面有些属性设置了没效果,比如UISwitch开关控件的开关背景图片;或者直接没有那种我们想要的属性,比如直接用代码设置控件大小。


所以,我们需要用第三方类库,意思大概是我们不用UISwitch类来实例化一个对象了,而是用第三方的类来实例化一个对象,然后这个对象可以进行各种修改随心所欲。


当然,这里的逻辑就是,我们要导入第三方类库,可能需要把它头文件神马的引入进来,然后就可以实例化,但是如何用第三方类库?cocoapods神器。


安装和使用教程如下:点击这里(相当齐全)


(1)gem是ruby环境下的软件管理命令,类似于Linux的yum,所以Linux下安装时yum install,那么这里就是gem install。


(2)但是gem install安装时它去找源程序时被“墙”了,所以我们需要把gem源换成国内的一个http://ruby.taobao.org/,我们去这个网站的时候,它自己也有教程教大家如何更换gem源,但它官方的教程里面是https,按照官方的https的话会出现找到这个网站的情况,用http发现正常,建议大家还是用上面教程的http。


(3)我们找到一个针对UISwitch的第三方类库,基本都是在github上的,此处用的时老师的SevenSwitch。用pod search SevenSwitch(大小写可不分)可以搜索到。


(4)找到了就安装呗,安装其实就是在项目目录里面创建一个Podfile,在里面写上我们需要安装的文件和版本等等。这个项目目录就是我们在create这个项目的时候,选择保存的路径,而不是在【iOS开发-3】里讲得沙盒里面的程序路径。


(5)先按照老师的文档写‘~> 2.0’,然后pod install时发现找不到这个文件,我们之前用pod search SevenSwith发现这个文件是1.4.0版本,我们尝试继续vim PodFile把里面改成‘~> 1.4.0’,运行pod install 成功。


(6)然后打开它提示的以.xcworkspace后缀的文件,名字还是我们的项目名字,我们可以打开我们的项目目录,这样可以清晰的看见发生了什么变化(新增了几个文件)。


(7)在我们常用的ViewController.m文件里引入SevenSwit.h头文件,这样我们就可以实例化对象并疯狂定制。


(8)OVER。学到如何利用第三方类库进行iOS开发的知识。


代码如下:

#import "ViewController.h"
//引入头文件即可
#import "SevenSwitch.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    //用SevenSwitch初始化一个对象
    SevenSwitch *swi3=[[SevenSwitch alloc]init];
    //可以设置开关大小了,即高宽设置有效果了
    swi3.frame=CGRectMake(30, 30, 100, 40);
    //设置开、关、滑块的背景图片,有效
    swi3.onImage=[UIImage imageNamed:@"1.png"];
    swi3.offImage=[UIImage imageNamed:@"3.png"];
    swi3.thumbImage=[UIImage imageNamed:@"small.png"];
    //设置开关的文字,官方的时On和Off
    swi3.onLabel.text=@"开";
    swi3.offLabel.text=@"关";
    //把圆角变成直角,即变成方形的开关
    swi3.isRounded=false;
    //原先的属性照常使用,如设置默认为开
    [swi3 setOn:YES];
    //设置边框颜色,在关的时候可以看见,因为开启的时候是默认的绿色背景
    swi3.borderColor=[UIColor purpleColor];
    //当然还有激活和未激活状态时的颜色,这个暂时还不知道怎么用,但是确实很丰富,有木有
    swi3.activeColor=[UIColor grayColor];
    swi3.inactiveColor=[UIColor redColor];
    //当然,不能忘记它照样可以使用操作
    [swi3 addTarget:self action:@selector(getValue1:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:swi3];
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

@end

效果截个图:


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。