自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 极光推送点击消息栏跳转到指定页面、设置标签或别名

上周,完成app新版本的开发。自从进入这版app的开发就没来更新过文章了,接下来会陆陆续续写一下在这过程中遇到的问题及一些总结。今天,就先说说消息推送吧。推送,大家都不陌生,没有推送功能的app估计是少数。当然,对于推送介绍的文章也非常多也很仔细,但是真正开发过程中,还是会遇到各种问题,接下来会和大家谈谈集成推送的方法及我在开发中遇到的问题,但愿能给你们开发中遇到类似的问题时提供一种思路。在推送过程

2016-11-08 14:47:45 11228 4

原创 iOS中加载HTML数据,并点击图片或链接进行相应的操作

开发中,有时候我们需要展现HTML类型的数据,这时候,我们多数选择用UIWebView加载,但是当我们需要加载大量的HTML数据时,使用UIWebView加载,性能会降低,尤其是当UITableViewCell需要放大量的HTML数据时,如果你用UIWebView加载这些HTML数据,你会发现,tableview会有卡顿的现象。那怎样去优化这个卡顿现象呢?我们知道WKWbebView的加载速度比UI

2016-07-11 16:30:47 4689

原创 在iOS开发中使用iconfont图标

在开发iOS项目时,不可避免的会用到图标,而为了适配不同分辨率的设备,我们通常会需要@2x,@3x两套格式的图片,最明显的就是底部tabBar的图标使用。而对于那些有换肤需求的APP来说,还需要多套图来匹配不同的主题。通过切图的方式制作图标,一方面加大了开发者和设计者的工作量,另一方面也会增大APP的体积。而使用iconfont的可以达到以下目的 1.减小应用体积,字体文件比图片要小; 2.图标

2016-06-30 18:40:01 3255

原创 将表情字符串转化成对应的emoji表情图片

有时候我们得到表情字符串想让它对应的显示表情,那这样的话该怎么做呢?前段时间就遇到了这方面的需求,在请求数据的时候,后台返回的字符串中包含 :sad: 这类型的表情字符串,如果直接将内容放到Label上显示,那么显示的也是 :sad: 这样的形式,而:sad:其实对应的表情是这样的。 找了很多资料,发现都得用图文混排的方式去处理,其中很多的表情字符串是[大哭]这样的形式,然后对于:sad:这样的形

2016-06-28 11:23:39 21282 3

原创 iOS13相关变化及适配

文章目录一、 iOS 13 支持的机型二、 适配要求三、具体适配清单1、 Dark Mode2、Sign In with Apple3、模态弹出视图的显示问题4、不允许使用KVC进行对私有属性进行获取或者修改5、推送的 deviceToken 获取到的格式发生变化6、 iOS13以后将不再继续支持UIWebView7、UISearchDisplayController被废弃8、 MPMoviePl...

2019-10-16 19:25:05 4795

原创 如何使用YYCache存储自定义对象

YYCache是一个缓存框架,由YYCache、YYDiskCache、YYMemoryCache和YYKVStorage组成。在项目开发过程中,想通过YYCache存储一个自定义对象,这个对象包括文章的ID、标题、图片、作者。但是在存储的过程中发现,YYCache并不能将此对象成功存储到本地,查看API后发现,如果保存的自定义对象不遵守NSCoding的协议或不实现NSCoding协议的方法,就不能使用YYDis

2017-11-01 16:21:52 4167 2

原创 ios自定义日期、时间、城市选择器

选择器,我想大家都不陌生,当需要用户去选择某些范围值内的一个固定值时,我们会采用选择器的方式。选择器可以直观的提示用户选择的值范围、统一信息的填写格式,同时也方便用户快速的进行选择,比如对于性别,正常情况下就只有男女两种情况,那这时候用一个选择器给用户进行选择的话,可以避免错误数据的输入,也更方便用户去填写。再比如需要获取用户的生日信息时,采用选择器的方式可以统一生日的格式,如果让用户自行输入的话,

2017-05-03 16:19:04 5383 1

原创 iOS自定义UIScrollView的滚动条

UIScrollView有自己默认的滚动条,可设置隐藏和显示,但是有时候这个默认的滚动条没办法满足我们的需求,那这时候只能通过自定义来实现了。 实现自定义滚动条需要解决的主要问题是:在scrollview滚动的过程中如何改变滚动条的位置,进而确保滚动条和scrollView在相同时间内走完自己的位移,只要把这个问题解决好了,那我们就可以优雅的自定义滚动条了。那如何解决这个滚动条的当前滚动位移呢?我们

2017-03-14 17:11:00 2086

原创 iOS常见又通用的一些小方法集合(不定时更新,欢迎补充)

开发过程中,往往会用到一些常见又通用的方法,整个工程中我们可能需要多次用到,或者多个工程中会用到相同的方法。比如判断手机号、邮箱的合法性,在登录或者注册相关页面,我们都需要用到相应的方法去判断,而如果我们每次都写一个判断方法的话,代码会显得尤其的冗余,这时候我们可以将这些方法都封装起来,这样每次使用的时候,直接调用相关的方法即可。在不同的工程之间也能进行复用。还有一些常见的小功能实现很简单,但是我们

2017-01-13 17:51:30 639

原创 iOS毫秒倒计时的实现

app开发中,当展示限时优惠的某些商品时,往往会加一个倒计时,提示用户该商品限时优惠所剩的时间,。那对于开发者来说,这就需要我们去实现的是一个倒计时的功能,这个倒计时根据具体需求,可以以天、小时、分、秒、毫秒作单位。今天呢,主要说说毫秒计时器。我们知道秒和毫秒之间的进制是1000,也就是说1秒=1000毫秒,那我们做毫秒倒计时器的时候是设置一个时间间隔为1毫秒的计时器,逐一减少毫秒数。但是这样的话太

2017-01-11 15:48:20 3291

原创 UITableViewCell中嵌套UITableView,用UITextView加载HTML数据

UIWebView可以加载HTML数据毋庸置疑,但是我们也都知道webView的性能不高,单个webView的话可能还好,但是如果我的tableviewcell中的内容是HTML数据,这时候再用webiew去加载的话,相当于在tableviewcell中嵌套多个webview,如果cell的个数多的话,那么性能自然会受到不小的影响。但是因为cell中显示的数据是HTML类型的,说白了也就是可以图文混

2016-11-14 10:08:35 2778 2

原创 iOS中TextField抖动效果、toast提示语

不少app中在进行账号的登录时,倘若密码和账号有误或者为空的时候,我们会收到相应的提示语,还有的会有一种抖动效果,这样的话可以方便用户更直接的知道自己的造作有误;而向分享、评论、登录、注册、收藏等场景中,不论是成功或者失败,为了让用户有更好的用户体验,我们都应该做相应的提示,比如这样:抖动效果用的是AFViewShaker,提示语的实现是通过给MBProgressHUD写一个类目方法。1,我们先给M

2016-07-11 16:26:01 2467

原创 如何跳转到app的设置页面

很多时候我们需要开启软件的定位、通讯录、或者推送功能,如果想直接跳转到对应app的设置页面,该如何实现呢?其实很简单,两句代码就可以了。- (void)viewDidLoad {    [super viewDidLoad];    UIButton *settingButton = [UIButton buttonWithType:UIButtonTy

2016-01-18 18:09:39 1698

原创 iOS 使用ContactsUI保存新联系人到系统通讯录

iOS 9 中已经不建议使用AddressBook来进行对系统通讯录的操作的,而是采用了新的库-ContactsUI.framework,通过它,我们可以访问系统通讯录,保存新的联系人,或者修改已有联系人的信息。代码如下,有不足之处还望大家积极指出。////  ViewController.m//  contacts////  Creat

2016-01-15 16:24:16 4181

原创 如何创建iOS环境下的cordova插件,让其运用到iOS项目中

很多跨平台开发的项目,会希望通过cordova插件调用iOS的原生API,实现JS与OC 的通信,集成iOS的一些相关功能。网上查了一些资料,再加上自己的理解,将一些心得分享给大家。下面将以调用系统相册或摄像头实现截图功能为例,将cordova的创建过程分享给大家。一、开发环境的准备(Mac环境)1.安装nodejs和npm,可到到nodejs官网(https://nodejs.o

2016-01-09 12:24:24 4129

转载 如何给UIViewController瘦身

如何给UIViewController瘦身   随着程序逻辑复杂度的提高,你是否也发现了App中一些ViewController的代码行数急剧增多,达到了2,3千行,甚至更多。这时如果想再添加一点功能或者修改现有逻辑变得让人无比头疼。如果你遇到了这类问题,那是时候停下来了,思考一下如何更好地组织代码,给VC瘦身。本文将会阐述如何结合MVC的思想帮你的VC瘦身同时提高复用和可扩展性。

2015-09-16 22:05:56 377

空空如也

空空如也

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

TA关注的人

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