![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS基础
汪继峰
这个作者很懒,什么都没留下…
展开
-
iOS 微信第三方登录的简单实现
一、下载微信SDK微信开放平台 https://open.weixin.qq.com二、导入SDK导入SDK,并添加依赖库 三、配置URL scheme在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程原创 2016-04-15 15:19:22 · 9701 阅读 · 0 评论 -
iOS枚举(位移枚举)
什么是枚举在程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。枚举的命名定义的枚举类型名称通常与项目的类文件前缀相同,或者是类库框架缩写,或者跟随具原创 2016-10-21 11:53:05 · 798 阅读 · 0 评论 -
UIButton中imageView和titleLabel的位置调整
在使用UIButton时,有时候需要调整按钮内部的imageView和titleLabel的位置和尺寸。在默认情况下,按钮内部的imageView和titleLabel的显示效果是图片在左文字在右,然后两者紧挨在一起构成组合居中显示。如下图:我们可以使用setImageEdgeInsets:和setTitleEdgeInsets:方法来调整两者的位置。在使用这两个方法之前,我们首先要将im原创 2016-07-29 14:44:49 · 736 阅读 · 0 评论 -
Xcode去除版本控制
点击左上角工具栏 Xcode -> preference 选择 sorce control 一栏,去掉Enable source control 的勾勾原创 2016-07-06 11:44:17 · 1082 阅读 · 0 评论 -
iOS 自定义常见第三方分享
d平时经常会遇到做第三分享的需求,相信大家好多都使用的集成的分享平台shareSDK、友盟分享等。他们其实是对各种第三方平台进行了二次封装,有时需求只要求做其中一种平台的分享的时候其实像shareSDK这种集成环境就有些显得比较冗余了,因为他集成了很多的平台,用户可自定义程度不高,使得自己的程序会变得很臃肿,今天就把自己的干货拿出来,来讲一讲自定义的第三方分享。下面主要讲一下目前应用比较广原创 2016-04-22 15:16:29 · 1876 阅读 · 0 评论 -
iOS 开源项目及第三方库汇总
UI下拉刷新EGOTableViewPullRefresh – 最早的下拉刷新控件。SVPullToRefresh – 下拉刷新控件。MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshControl – XHRefres原创 2016-04-21 09:47:15 · 1799 阅读 · 0 评论 -
iOS UILabel垂直居中
平时开发的时候可能会遇到这种问题:当一个UILabel的frame的高度设置的过大时,发现UILabel是垂直居中的,有的需求是需要将这个Label垂直向上显示,之前的办法是计算出label.text的字体所占用的frame大小,根据这个大小再重新设置label的frame值,未免有些麻烦,前阵子封装了个自定义label实现的垂直居中的设置。废话不多说,上代码。//// JFLabel.h原创 2016-04-20 18:24:07 · 9816 阅读 · 0 评论 -
runtime OC类执行顺序
一、runtime如何实现?OC这个语言尽可能的将一些决定从编译器推迟到运行时,他会尽可能的动态处理事情,这意味着这个语言不仅需要一个编译器,还需要一个运行时系统,使得这个语言得以运行。RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 )。编译完成之后直接顺序执行,无任原创 2016-04-20 16:26:45 · 1288 阅读 · 0 评论 -
使用Block需注意的问题
1、block中引用外部变量block中引用外部变量时,通常会把对象当做常量变量编码到block中,并且在block中尝试改变外部变量的值会报错,解决办法是引入__block标识符,需要在block内部修改的变量标识为__block scope2、block自身的内存管理block本身是像对象一样可以retain,和release。但是,block在创建的时候,它的内存是分配在原创 2016-04-20 16:23:21 · 790 阅读 · 0 评论 -
iOS UIButton传递多个参数的方法——使用关联函数
在平时开发时经常会要遇到通过button的绑定值来做逻辑处理以区分不同的button,通常使用tag来区分,但是当需要传多个值的时候这就比较麻烦了,通常考虑用全局变量来传值,今天来介绍另一种给UIButton传值的方法——关联函数。下面来简单介绍下关联。关联关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。关联特性只有在Mac OS X V10.6原创 2016-04-20 15:25:31 · 4854 阅读 · 0 评论 -
如何查找当前的第一响应者
有时候总是有需求来获取当前的第一响应者,例如让TextField收键盘,隐藏视图等等操作都需要获取当前的第一响应者,那么该如何获取呢?UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];UIView *firstResponder = [keyWindow performSelector:@selec原创 2016-04-20 11:25:59 · 3390 阅读 · 0 评论 -
iOS delegate、notification、KVO如何选择
在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在IOS应用不断的出现三种模式来实现这种通信:1.委托delegation;2.通知中心Notification Center;3.键值观察key value observing,KVO因此,那为什么我们需要这些模式以及什么时候用它以及什么时候不用它。下面来讨论这三原创 2016-04-20 14:58:44 · 818 阅读 · 0 评论 -
iOS 微博第三方登录的简单实现
一、下载微博SDK微博SDK的官方github : https://github.com/sinaweibosdk/weibo_ios_sdk下载所需要的SDK二、集成SDK下载后的SDK文件结构如下: 将这个文件夹拖拽到你所要添加的工程中。三、引入依赖库及相关设置如图点击添加依赖库所需依赖库:QuartzCor原创 2016-04-20 10:21:35 · 7181 阅读 · 2 评论 -
iOS开发调整UILabel的行间距
最近再做一个项目时,发现UILabel中text的系统默认行间距不能满足要求,于是在网上找到了调整行间距的代码。跟大家分享一下,希望能对你有所帮助。CGFloat heih = 20;NSString * cLabelString = @"这是测试UILabel行间距的text。这是测试UILabel行间距的text。n 这是测试UILabel行间距的text。n 这是测试UILa原创 2016-04-20 11:40:37 · 1123 阅读 · 0 评论 -
iOS 判断当前viewcontroller是push还是present的方式显示
通过presentviewcontroller的方式显示的viewcontroller不会存入self.navigationController.viewControllers数组中。而通过push方式显示的viewcontroller会存在该数组的最后。代码如下: NSArray *viewcontrollers = self.navigationController.viewCo原创 2016-04-19 15:23:47 · 2290 阅读 · 0 评论 -
iOS QQ第三方登录的简单实现
平时我们经常会在一些app的登录界面中见到第三方登录,一些应用中一般会使用一些类似shareSDK的集成平台,他们是将QQ、微信、微博等第三方进行了二次封装,灵活性不太高,其实直接集成也是比较容易的。今天就来简单的说一下QQ的第三方登录的集成。原创 2016-04-14 16:54:03 · 2277 阅读 · 0 评论 -
优雅的动画实现方案SVGA、Lottie
前言在开发APP的过程中,需要在APP中实现设计同学的UE效果动画,一般都是通过代码实现的,当对于较复杂的动画时,例如直播中刷礼物时的动画,这时利用代码实现会比较复杂。而且Android和iOS两端不好统一效果,如果用gif图片来实现的话,在图片大小和动画帧数之间很难权衡。而且会导致内存吃紧。为了解决这样的问题,今天来介绍两款实现复杂动画的开源库:Lottie和SVGA。LottieLot...原创 2018-11-06 17:57:43 · 5533 阅读 · 1 评论