自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 iOS中如何禁用系统自带的Emoji表情键盘

TextModel

2017-05-31 14:13:35 7792

原创 MBProgressHUD needs to be accessed on the main thread.报错的解决办法

MBProgressHUD和SVP是最常见的状态显示的第三方库了,最近遇到个MB的问题,如标题所示,崩溃崩到三方库的内部了,字面意思是必须要放到主线程了,请看我最初写的代码:-(void)showMessage:(NSString *)message{    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view anima

2017-03-24 12:22:18 4396

原创 iOS中修改APP的名称

其实很简单,不过经常是字段名称容易忘记,具体的做法是在InfoPlist.s文件里加上CFBundleDisplayName选项,类型是String,然后对应写上你想要的中文名称即可,很简单,不过这个字段的名称容易忘记,记录下,下次直接复制就好了

2017-02-28 16:41:03 1826

原创 iOS中使用SDWebImage加载图片失败之后如何重新加载

毫无疑问,SDWebImage绝对是我们平时做项目使用频率最广的第三方框架之一,良好的封装性和性能,真的是非常优秀,最近项目中使用了这个库函数加载网络图片,但是发现了一个问题,就是有时候网速不太好,比如当前的WiFi的信号不太强,这个时候图片就会加载不出来,这个本来无可厚非,网速嘛,总是有好有坏的啊,不过当切换到比较流畅的网速的时候,比如从wifi过渡到4G,这个时候惊讶的发现,之前加载失败的图片

2016-12-27 18:00:04 5185

原创 iOS中用swift转换日期的几个通用函数

由于上个项目用的日期类型的转换还是蛮多的,所以封装几个通用的函数,其实说白了也是很简单的东西,不过这次封装好方便以后的使用,以希望可以帮到别人1:根据时间戳获取当前日期的函数: func getCurrentTime(timeNum:double) -> String {        let formatter = DateFormatter()        formatter

2016-12-23 14:36:47 2172

原创 Swift3.0中GCD定时器的使用

swift3.0语法变化之后,好多东西用法都发生了变化,最近要用到定时器,网上搜集了好多写法,最后才搞好,现分享一下,方便以后使用,也希望能帮助别人首先,创建定时器,和之前的有所不同,代码如下: var timer =  DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.main),即在主线程中创建一个定时器,该

2016-12-23 11:05:01 6598 2

原创 swift3.0使用友盟分享遇到无法调出分享界面的解决办法

最近使用了友盟的分享,项目是swift语言的版本,但是发现友盟的sdk版本是oc的,首先有种不详的预感啊,好吧,但是项目总是要继续完成的,按照官方文档的指点一步一步的集成,发现原来也不麻烦,无外乎添加库文件,添加编译参数之类的,一切编译都已通过,当兴冲冲的点下相应的分享按钮,预想中的分享界面并没有出现,这落差,哎,只有一步一步的重新检查,然而,经过检查并没有发现问题出现在哪里,没办法,从新把东西删

2016-12-22 14:24:38 1520

原创 iOS中使用swift语言做淘宝的第三方登录

现在第三方登录是在大部分APP都有的功能,我们最近项目中使用了淘宝的第三方登录,这个我们平时使用的较少,而且使用的是swift3.0,调用oc语法,使用过程中还是遇到了些问题,所以现在做下终结,方便下次使用首先:淘宝的第三方的登录需要到阿里百川的官网上申请,和其他的一样,嵌入sdk之后即可调用语法,这种很常见,没什么与众不同的点,按照官方文档来即可,我所遇到的问题是,需要用swift调用obj

2016-12-22 14:01:07 1492

原创 iOS中弹簧动画函数的解释

iOS7之后,苹果新增加了弹簧动画的API,利用这个可以做出来很炫酷的效果,其实也就是一个函数,只不过苹果封装好了,这个函数挺长的,参数也多,在这里根据自己的理解解释下,首先,函数是:  + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDa

2016-11-17 17:45:28 1463

原创 Html中的列表标签

Html中的列表标签无疑是前端中最重要的标签之一,本文做下简易的终结:列表标签的作用:给一堆数据添加列表语意,也就是告诉搜索引擎告诉浏览器这一堆数据是一个整体,分为 无序列表(unordered list),有序列表(ordered list),定义列表(definition list),从前到后,用处依次减少1:无序列表:给一堆数据添加语意,并且这一堆数据中没有先后之分,格式为

2016-11-07 14:11:27 2128

原创 HTML中常见的标签及意义(一)

1:标签:双标签,网页的标志及开始,内容写在这个标签内;2:标签:双标签,html的头标签,一些设置的东西写到这里边;3:标签:双标签,html的内容部分,展示内容写到这里边;4:标签:双标签,网页的标题;5:标签:单标签,元标签,设置字符集等内容;6:标签:单标签,单独一行的横线;7:标签:单标签,单独另起一行;8:标签:单标签,加载的图片,内部可以嵌套 width

2016-11-02 17:09:23 8831

原创 HTML的DTD文档

首先说一下什么是DTD文档:       由于历史的原因,HTML有很多的版本的规范,不同的版本有不同的差异,为了方便浏览器正确的编译解析以及渲染我们的网页,我们需要在HTML的文件的第一行告诉浏览器我们当前的网页是基于那个标准规范编写的,浏览器只有知道了我们是哪个版本的规范编写,才能正确的读取解析以及渲染其实说一下DTD文档的声明格式:        每一个不同的版本有不同的声明格式

2016-11-02 11:35:42 1542

原创 Html开发中的常见标签的分类

1:双标签的:即:成对出现的标签,有开始也有结束的,如等大部分常见的标签2:单标签:只有一个单括号组成的,如标签3:并列标签:如,标签之间,是平级的,并列的4:嵌套标签:如 以及和标签 是父子的,上下级的

2016-11-02 11:13:46 960

原创 Html的基础格式

首先说明一个注意点:GBK(GB2312)和UTF-8的区别前者是里面存储着字符比较少,仅仅存储了汉字和一些常用外文,特点是体积比较小;后者是存储着世界上所有的文字,特点是体积比较大;如果网站仅仅包含中文的话建议使用GB2312,因为体积小,访问速度快,否则建议使用utf-8,这样能够全部显示而不会乱码建议直接使用utf-8,省事网页的一般格式如下:

2016-11-02 11:00:54 447

原创 支付宝sdk集成过程中报 openssl/asn1.h file not found错误的解决办法

最近在做集成支付宝sdk,新版支付宝的sdk集成后,有可能会报两种错误,第一种官方文档上有说,一般是base64file not found之类的,这个原因是没有导入foundation框架导致的,导入即可。另一种是如标题所说的 openssl/asn1.h file not found错误,这个也算是挺常见的一种错误,原因是搜索路径没有设置好,解决办法是选择target - build se

2016-10-12 15:38:23 3185

原创 iOS中的runtime入门(一)

runitme是iOS开发中的一个重要知识点,runtime简称运行时,objective-c中最主要的是消息机制,这里我们可以对比下C和OC的操作方式:C语言函数的调用在编译的时候会决定调用哪个函数,而oc中是动态调用的过程,在编译的时候并不真正决定调用哪个函数,只有在真正运行的时候才会根据函数的名称找到其相对应的函数进行调用。  我们知道,方法调用的本质实际是让对象发送消息,我们平时使用的

2016-09-30 14:56:34 456

原创 Xcode8中的钥匙串保存数据取出时候为空的问题

苹果还真是喜欢折腾啊,好好的钥匙串保存非要给你整出来点事,Xcode7以及之前的版本直接使用Keychain存储数据即可,具体方法可以参照下网上的,不是本文的重点,但是从Xcode开始,再用之前的方法会发现,读取不到存进去的数据了,或者说,存储不进去了,原因是苹果加强了隐私保护,这个东西需要打开开关,个人觉得苹果这样改这个keychain意义不大,解决办法如下:如下图只

2016-09-20 13:11:45 1922 1

原创 iOS10的适配(二)

1 UIRefreshControl之前的时候继承与UUISCrollView的控件添加下拉刷新的时候是没有系统属性的,主要是靠第三方的MJ或者EGO等框架,现在倒好,苹果自己搞了个刷新的属性出来,可以直接在瀑布流或者UITableView中使用,这样省去了好多事,不过要是需要自定义的话,还是要好好自定义夏refreshcontrol,简单的如下:    UIRefreshCont

2016-09-19 14:35:03 628

原创 iOS10的适配(一)

果然是苹果每次更新,都要引来好多改动,大修大改之际,免不得费颇多功夫,查阅一些资料踩完坑之后,现总结下适配iOS10时候的一些知识点1:最明显的就是隐私数据访问问题,这个不适配的话,点击就会崩溃,甚至连ipa包都发不出去,主要的方法就是在info.plist文件中加入你项目中使用到的隐私选项,对比与ios8或者iOS9时代,这次的选项变得很多,主要有以下: NSPhotoLibrary

2016-09-19 14:23:26 1597

原创 Swift中如何通过KVC将自定义的UITabbar设置为UITabbarController的tabbar

开发中经常会自定义tabbar,将自己定义的tabbar设置为系统的tabbar有很多种方法,这里说一种最简单的方法,我们知道OC是运行时的,我们可以通过KVC来操作,其实说白了就一句话的事,假如我们自己自己定义了一个新的tabbar叫myTabbar,这个时候设置的代码就是: setValue(myTabbar, forKeyPath: "tabBar"),这样就完成了,是不是很简单,就

2016-08-31 17:50:31 688

原创 Swift中的单例的一种简单写法

Swift中单例的写法有很多种,下边表述一种比较简单的方法,我们知道,单例就是一块内存到处可以用,如下,类名字是:NetWorkRequest,单例的类方法是:shareNetWorkRequest,我们可以通过懒加载的方式,定义一个本身的类,当然这个类要用static修饰,然后在类方法中返回这个对象即可,这样就很简单的写成了一个单例,代码如下: static let tools:NetWor

2016-08-31 17:39:20 1488

原创 Swift中如何实现自定义Debug模式下打印Log

打印log是开发阶段,调试过程中是必不可少的一步,objective-c时代我们可以使用宏定义来设置工程debug模式下打印log,release模式下不打印log,但是过度到swift之后,我们发现swift的版本特性,不具有宏这种东西,所以也就不那么容易实现类似OC中的debug模式才能打印log的功能,但是还是可以操作的,方法如下:

2016-08-31 13:53:11 3688

原创 swift中根据宽度计算文字高度的方法的封装

开发中经常会用到根据字符串的宽度或者高度来算高度以及宽度的情况,OC中比较好操作,但是之前的一些方法被舍弃之后再过度到swift会有些茫然,好在找了下api,也百度一下别人的方法,自己封装了根据高算宽以及根据宽算高的方法,留着以后自己使用,也希望能帮到别人吗,方法如下:func getTextHeigh(textStr:String,font:UIFont,width:CGFloat) -

2016-08-24 11:44:38 7145

原创 iOS开发中如何用Swif重写cell的frame方法

设置cell的内边距的时候会用到重写setframe的方法,OC里边很简单,但是在Swift中稍微有点麻烦,我在写的时候内存陷入了死循环,现在总结下后来正确的写法,希望能帮到你,说白了其实很简单:代码如下  override var frame:CGRect{         didSet {            var newFrame = frame           

2016-07-28 13:57:46 1710 2

原创 iOS中如何在Xib中为UIView及其子类设置圆角

开发中经常会给UIView及其之类设置圆角,这个时候我们要改变view的layer层的两个属性,分别是:layer.cornerRadius,设置属性和layer.masksToBounds 超出边界是否剪除,通过这两个属性我们可以设置圆角,而且当view是正方形的时候,我们设置的角度是一半的时候,会发现VIew将变成原型,很方便    平时开发如果是固定的页面布局,这个时候我们可以用Xib或

2016-07-22 17:47:10 1109

原创 iOS中图片压缩的常见方法

开发中经常会碰到从手机相册中选择图片的需求,选择图片这个过程是一个消耗性能的过程,取决于手机图片的大小,如果手机像素非常高,图片的尺寸非常大,这个时候就会变得很消耗性能,比如一张图片5兆,这个时候选择后加载的时候就会有些卡顿,内存开始大幅升高,仔细想想也没有这种必要去加载这么大的图片,所以总结了两种处理方法,提供参考1:对图片进行压缩,iOS的API中提供了函数进行压缩,代码如下:如上两种方法

2016-07-06 13:08:01 12240 3

原创 iOS中使用UITextView时候的一些小技巧

1:inputView属性,设置过该属性之后键盘将不再弹出,此时的键盘就是自己设置的inputView,若是自定义键盘可以使用该属性进行一定的操作2:alwaysBounceVertical属性,默认是false,设置为true之后textview将变得能够一直可以滚动,还一个属性是水平的方向,这个是竖直 的方向,3:keyboardDismissMode属性,是个枚举值,里边包含在什么情

2016-07-05 11:46:43 1757

原创 iOS中CocoaPods使用时候报错 ”is not used in any concrete target”的原因及解决办法

使用cocoapods时候,一些比较久的工程,有时候会遇到is not used in any concrete target.的问题,例如:`SDWebImage (~> 3.7.5)` is not used in any concrete target.,出现这种错误的原因是cocoapod版本问题,自己当前的版本可以通过 pod --version 查看版本号;如果你的podfile升级到

2016-06-20 14:52:46 1379

原创 iOS中使用GCD中的Group管理子线程

之前的项目中有用到SDWebimage缓存图片,当图片只有一张的时候,无所谓,在回调的方法中直接调用即可,但是如果是多张图片的话,这个时候不知道哪个线程先完成,因为SDWebimage下载一张图片是开一个子线程,多张的话就多张子线程,如果我们需要在所有下载完成之后再进行回调,这个时候需要用到GCD中的Group知识点,会在所有的子线程完成之后给一个回调,这个时候就实现了之前的需求,步骤如下:1

2016-06-16 17:11:36 1659

原创 iOS中创建文件目录时候存储路径的一些注意点

创建文件时候会先创建路径,这个时候会有一些重点需要注意,现总结如下:1:Documents 主要用来保存由应用程序本身所产生的文件或者数据内容,例如,项目涂鸦时候的绘图,截屏之类的内容,项目的进度等等,需要注意的是改目录的文件会被自动保存在iCloud,该目录不能保存从网络上下载的内容,否则可能导致不能上线;2:Caches主要用来保存临时文件,既后续需要使用的内容,例如:缓存

2016-06-14 11:10:39 4220

原创 iOS UIWebView中Objective-C与Javascript的深层交互(三)

上篇文章中讲述了如何通过代码直接用JavaScript调用Objective-C方法,本文通过另一种思路实现,即通过稍微复杂的一种方法,即通过一个对象来调用方法,该方法通过实现一个协议来操作,即JSExport协议       JSEXport,凡是添加了JSEXPort协议的协议,所规定的方法,变量等,就会对JS开放,我们都可以通过JS的类调用到。比如:JS方法为account.acco

2016-06-07 15:41:49 575

原创 iOS UIWebView中Objective-C与Javascript的深层交互(二)

上篇文章中讲到了如获取JSContext以及如何通过JSContext实现OC调用JS的代码功能,该文总结下如何通过JavaScript调用OC的代码,也不麻烦:本文讲述直接调用的方法   1:和之前一样:首先创建JSContext对象,JSContext *context=[webView valueForKeyPath:@"documentView.webView.mainFrame.ja

2016-06-07 15:03:46 464

原创 iOS UIWebView中Objective-C与Javascript的深层交互(一)

最近项目中有用到OC与JS的交互,刚开始时候觉得只用一个函数就能搞定交互,即 stringByEvaluatingJavaScriptFromString 后边为JS代码转化的字符串,后来随着项目的内容的增多,逐渐发现功能有些捉襟见肘,网上搜索了一些方法,解决了问题,先总结如下文,借鉴下经验,方便记忆的同时,也希望能稍微帮助到一点别人      正常的WebView的代理方法就不再多做赘述,i

2016-06-07 14:37:54 605 1

原创 Attempt to set a non-property-list object 报错问题

NSUserDefaults只能保存诸如NSArray、NSDictionary、NSData、NSNumber等基本数据类型,如果我们强制保存自定义的类,就会出现这个错误:Attempt to set a non-property-list object as an NSUserDefaults value for ,解释起来:【试图将一个非属性列表对象设置为 NSUserDefaults】

2016-06-07 13:06:12 6057

原创 iOS中通过字符串创建类(Swift)

开发中可能会经常遇到动态创建类的情况,有时候是根据服务器返回的字段进行处理,在OC中很简单,直接通过NSClassFromString方法即可,但是在Swift中,要加上命名空间才能够创建,具体如下:    1:命名空间的获取,这个要动态获取或者直接写死,直接写死的话,如果改了项目名字的话就不能用了,所以最好尽量动态获取,获取方法为:    let nameSpace = NSBundle

2016-06-02 10:51:09 1429

原创 HTML的div标签

定义:可以定义文档中的分区,即可以把文档分割为独立的,不同的部分,,如果用id或者class来标记div那么该标签的作用会变得更加有效用法:其是个块级元素,这意味着他的内容自动的开始一个新行,实际上换行是该标签的唯一格式表现,可以通过div的class或者id应用额外的样式 可以对同一个 元素应用 class 或 id 属性,但是更常见的情况是只应用其中一种。这两者的主要差异是,class

2016-05-25 10:32:18 1445

原创 HTML入门

标签分为两个一个头标签,一个体标签  头标签 体标签 类似于树的概念,HTML标签为根,之下的逐渐散开1:头标签head标签: 包括meta标签设定内容格式2:体标签body标签 包含内容

2016-05-23 14:46:50 291

原创 iOS如何快速解决PCH文件的路径找不到问题

pch文件是常用的文件,xcode6之后不再默认创建,之前是默认的,但是苹果给的有这个文件创建方法,创建起来也很简单,有些麻烦的事情是新的创建的方法需要自己设置路径,这点有些麻烦,最近看到别人使用的一种简单方法,觉得很有用,记录一下       pch文件的创建就不再多说,没什么技术含量,创建好之后,这个时候要到buildsetting 的llvm 的language选项种更改路径,这个时候点

2016-05-09 10:56:51 4885

原创 因WKWebview导致视图控制器释放不掉而内存崩溃的问题

之前有引用到WKWebview,为使用方便将WKWebview设为了成员变量,然后又设置了该成员变量的scrollview的属性的代理为当前视图控制器,然后就出现了问题,每次push时候从新创建时候总会访问之前的内存,然后报错说访问了一块已经释放掉的内存,pop出栈的时候会崩溃,这样一直找不到问题的存在,后来才知道强引用了scrollview,代理释放不掉,所以会报错,解决办法,在dealloc函

2016-04-29 16:00:12 5034 2

原创 iOS 中的UIWebview如何添加头视图的问题

要知道UIWebview是有个Scrollview的属性的,我们可以通过这个检测滚动的contentoffset进而拿到偏移量,可以根据这个做一系列的操作,但是添加透视图的并不需要这么麻烦,只需要更改下scrollview的contentInset属性即可,例如 _webView.scrollView.contentInset = UIEdgeInsetsMake(40,0, 0, 0);

2016-03-16 14:51:28 2151

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除