2 麻豆_matou

尚未进行身份认证

记录下成长的脚印

等级
TA的排名 8w+

Swift使用XMPPFramework做IM即时通信的Demo

上一篇文章处理了文本中表情的替换,现在来完成消息的发送功能吧(貌似前后并没有逻辑关系哈)首先为了测试,我们需要下载spark工具,它可以连接openfire搭建的后台来完成即时通信的功能,方便测试。下载地址点这儿博主这里用的是Spark2.8.3,各位可以根据自己所使用的平台不同选择对应的客户端下载。由于目前只是做移动端开发,所以后台的搭建各位可以自行google。使用S...

2018-03-21 19:35:34

字符串表情替换

博主最近在研究IM的实现,不想直接使用第三方的界面,于是就开始了自己的作死之路。今天把包含表情格式的文本转换成相应的富文本贴一下吧。首先,博主的表情格式是现在常用的中括号+标志符,类似[11]就是一个表情格式的字符。我们需要实现的功能就是把形如:你好[11]这样的字符串变成:你好这样的字符串,具体的步骤就不再叙述了,注释已经很详细了///将字符串转换为含有表情的富文本...

2018-03-20 13:31:07

Swift使用极光推送JPush的Demo

JPushDemogithub项目地址需要导入JPush框架,可以使用cocoapod导入,也可以手动导入环境配置配置环境可以参考极光推送的官方文档:iOS证书设置指南iOSSDK集成指南iOSSDKAPI使用说明待环境配置好了之后,就可以进入极光推送开始推送消息了极光推送首页推送使用示例如下:发送通知发送自定义消息代码...

2018-02-08 21:36:40

Swift自定义下拉刷新、上拉加载(CZXRefresh的使用)

CZXRefreshgithub项目地址可以cocoapod导入也可以下载之后手动导入先把CZXRefresh.xcodeproj文件拖到项目下然后配置项目文件添加framework使用方法在需要使用的文件中import框架即可使用importCZXRefresh下拉刷新和上拉加载都可以在UITableView和UICo

2018-02-01 17:39:32

framework和cocoapod加载图片问题

最近博主应实习公司要求封装一个下拉刷新上拉加载的控件,当功能实现之后想要集成到framework中和发布到cocoapod时都遇到了图片资源读取失败的问题,现将解决办法贴下。framework中资源读取失败:我们需要将资源打包到.bundle文件中(其实就是后缀为.bundle的文件夹,把资源放置其中即可).然后根据你的目录结构来获取bundleletbundle=Bundl

2018-02-01 13:24:28

Swift中UIScrollView与自定义上下滑动手势冲突

今天博主在封装下拉刷新时遇到了这个问题,在给UIScrollView添加UIPanGestureRecognizer时UIScrollView无法滑动了。博主也试了UITableView和UICollectionView,也出了同样的问题。在网上找了很久,终于解决了这个问题,只需要扩展UIScrollView使它遵循UIGestureRecognizerDelegate,并实现其中的一个方法就可以

2018-01-27 19:26:45

React Native实现注册和登录

React-Native-Register-Login-Demo这是最终的效果图项目Demo可以到github上下载,方便大家理解。下面将一步一步带大家完成这个Demo搭建环境环境的搭建只需要安装ReactNative中文网的步骤搭建环境即可,可以选择不同的桌面系统对不同的手机系统的环境的搭建。这是使用的是最新的0.51版本,想要切换版本的可以点击左上角的

2018-01-22 18:10:00

(作业)采用多MVC和Core Data构造一个个人信息维护程序

这次作业要用到一个新的框架,话不多说,先上需求然后看看博主实现的程序吧现在我们就开始一步一步地实现这个程序吧。首先从工程的创建开始,因为要使用CoreData,所以需要在创建工程时将UseCoreData打上勾,这样的话系统会自动帮我们生成一些代码和文件这个homework.xcdatamodeld文件就是系统帮我们生成的,再看看AppDelegate.swift文件,

2017-12-13 19:54:35

(作业)使用多线程实现一个网络服务访问程序

又是一个关于多线程的作业,老样子,先看需求这次作业具体要做成什么样子没有指定,那我们就做一个加载成都的天气信息吧。具体的运行效果如下:要实现这个功能很简单,首先我们先声明一个显示信息的UITextViewvartextView:UITextView!然后分别将UITextView和一个按钮添加到视图上self.view.backgroundColor=UIColor.whitel

2017-12-12 22:46:28

(作业)使用多线程实现一个大数加程序

哎哟,这次作业要使用多线程了,不过读者们不要慌,Swift的多线程如果不设计特别复杂的锁的话,是很简单的,那我们先来看看要求吧这次的作业要求不多,可能刚接触时会觉得多线程比较麻烦,其实不然,Swift中的GCD已经非常方便了,我们只需要使用它就可以很简单地实现我们的要求。那接下来我们就开始完成需求吧。首先,我们需要声明一个UILabel控件来显示计算的结果varlabel:UILabel!然

2017-12-06 20:40:28

(作业)利用网络编程实现多个城市的天气查询

哎呀,这次作业终于涉及到一些高大上的东西了,废话不多说,先看要求这次作业需要从网上获取到城市的天气信息,并在第二个界面显示,我们这里需要用到两个第三方库,Alamofire和SwiftyJSON。Alamofire时网络的第三方库,我们使用它来从网络获取天气信息的JSON数据,然后使用SwiftyJSON来解析我们获取的JSON数据。虽然使用Swift自带的URLSession和JSONSeri

2017-12-06 19:54:28

(作业)WKWebView实现简单的浏览器

又是一周一次的作业时间,我们直接看要求和最终的效果图吧可以看出,最下面一块是一个网页,上面的第一行分别是回退按钮,前进按钮和刷新按钮,第二行是一个输入框和一个搜索按钮,这次作业要求不难,基本的功能框架里面已经有现成的方法了,所以我们只需要调用即可。那接下来开始实现部分。首先,我们需要定义两个属性,一个WKWebView和一个UITextField(使用UIWebView也可以,不过WKWeb

2017-12-06 09:34:15

(作业)animation、transition、UIDynamicAnimator

第二个作业要求,先来看看吧,很有趣的一些动画效果看要求,a和b都不是很麻烦,之前博主自学的时候接触过,第三个接触不多,老师上课时演示的时候有点着迷了,因为,如果有了这个UIDynamicAnimator,那么愤怒的小鸟就不是很难实现的游戏了(有这么神么?后面再介绍吧)关于UIDynamicAnimator,CSDN的前辈写得很不错先来看看第一个用animation实现视图位置、大小、转换

2017-12-01 22:27:55

(作业)基于Timer实现电子秒表

哎呀,最近考试太多iOS、JavaWeb还有软件需求都在进行阶段考试了,所以就没那么多时间写博客啦(哈哈哈,这么牵强的理由就只有我信吧)管它了!还是老规矩,直接上要求好吧,这次的第一个作业实在是,不难!对,只要会用Timer,再结合前面学的一些知识,就能很快速地解决了。这次博主换一个套路了,我们先看看最终的运行效果吧。可以从动图里面看出,博主用了UITableView,所以这里

2017-12-01 20:24:44

(作业)UIScrollView

好啦,本次作业的最后一个题,只需要实现UIScrollView的图片轮播和放大功能即可。这个实现起来也不麻烦,要想实现轮播和缩放效果,需要先让ViewController遵循UIScrollViewDelegate协议。接下来先声明三个属性,两个scrollview,一个pagecontroll,第一个scroll与pagecontroll配合使用实现图片轮播效果,第二个scroll实现图片

2017-11-15 11:13:20

(作业)ActionSheet、Alert

本次作业比较简单,只涉及到ActionSheet和Alert,它们两个用法及其相似,只有一些细微的差别,而且需要说明的点也很少。废话不多说,先上要求同样我们为了方便添加按钮,使用导航栏控制器作为UIWindow的根视图控制器self.window?.rootViewController=UINavigationController(rootViewController:ViewContro

2017-11-14 23:00:38

(作业)View,Layer,Animation和Gesture

又开始做作业了,这次虽然设计的知识点比较多,但是都比较简单,一个页面就能完成。先来看看要求吧根据这个要求,我们先要自定制一个视图,所以需要新建一个继承自UIView的类,这里博主就使用MyView来命名。然后在这个类中,我们需要先重写它的draw(_:)方法。overridefuncdraw(_rect:CGRect){letviewRect=UIBezie

2017-11-14 13:52:13

Swift4.0 Codable踩坑之派生类数据的保存

本以为之前使用Codable的过程中踩的坑已经够多了,今天博主有遇到一个坑,调了一个下午才解决,问题不大,但是中文的技术文里都很少涉及这个问题。问题描述:遵循了Codable协议的自定义类,派生出的子类JSON化与反JSON化。简单来说,就是这儿有一个类遵循了Codable协议,其自身可以很方便地使用JSONEncoder和JSONDecoder来JSON化和反JSON化。但是子类就不是那么方便了。

2017-11-13 21:54:27

(作业)TableView、Delegate、DataSource

来来来,继续作业系列的博客,老规矩了,直接上要求这次作业涉及到iOS开发中最常用的一个UI组件UITableView,AppStore中的几乎所有工具型和应用型App都使用了UITableView,而初学UITableView又不是那么容易,因为它涉及到很多代理和数据源的问题,但用熟练了,会觉得它非常地方便。废话不多说了,先来完成要求吧,在这个过程中,博主会讲解一些细节方面的东西。首先是需

2017-11-13 11:10:56

(作业)使用autolayout和约束实现简单的界面布局

感觉好久没有写博客了,最近博主在复习javaweb准备考试,顺便为后面使用UIWebKit做铺垫吧。今天就用xcode中的stroyboard实现自动布局,我们不用写一句代码,就能实现一些基本的布局。第一套布局这儿有两套布局,我们先来看看简单的那一套。看这套布局特别简单,只需要创建三个UIView,然后让他们总的宽度等于屏幕的宽度,然后各自的长宽相等就可以了。接下来看一步一步的操作

2017-11-08 13:30:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!