- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 模仿高德地图搜索控件
模仿高德地图搜索控件,效果如图所示需要注意的主要有两个地方:一是手势与tableView的scroll滑动冲突的问题;还有一个就是searchBar的键盘以及searchBar在Editing状态下的动画问题。该项目主要解决的就是这些问题
2017-07-05 23:18:00 2011
原创 基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)
首先我们需要明确一点的就是,为什么需要自定义socket协议?① 客户端与服务器间的相互通信是异步的② 理论上,二者都可以任意地发送或者接受数据③ 但是实际上,它们应该配合:当client发送时,server接受; 当server发送时,让client去接受④ 那么,任何让它们二者配合默契,相互协调呢?⑤ 这就引出了我们需要的——应用底层协议来解决⑥ 这个所谓的协议,实质上就是代码我们都知道,TCP或者UDP的握手协议(三次握手 三次挥手之类),不过这些协议都已经被封装在了TC
2017-07-01 23:41:32 2485 3
原创 Swift中的protocol
protocol作为swift中的一种自定义类型,和struct,class,enum不同,我们使用protocol来定义某种约定,而不是一个具体的类型。这种约定通常用于表示某些类型的共性
2017-07-16 22:21:23 2001
原创 清除缓存方法
就像大家都知道的,iOS中的每一个APP都有一个独立的一个沙盒目录,存放用户的一些数据,并且每个APP的沙盒互相之间并不能直接访问,从而起到了保护用户隐私的作用。那来看看沙盒目录(sandbox)中都是些什么吧: 获取当前APP的沙盒目录的路径:
2017-07-13 20:59:08 815
原创 Swift中的as as? as!
Swift是一门强类型语言,而Objective-C是弱类型语言(OC是动态性语言,让程序可以在运行时判断和决定其该有的行为,所以OC属于弱类型)。所以使用时需要注意对象之间关系,用is as as? as! 这些操作符来处理对象之间关系 Swift基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式。本篇文章学习自泊学(boxueio.com)类型的判断 -
2017-07-08 23:24:08 887
转载 Socket编程中select函数用法详解
select()在SOCKET编程中还是比较重要的,可是对于初学 SOCKET 的人来说都不太爱用select()写程序,他们只是习惯写诸如conncet()、accept()、recv()或recvfrom()这样的阻塞程序(所谓阻塞方式 block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用 select() 就可以完成非阻塞(所谓非阻塞方式 non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦
2017-07-03 20:05:16 2314
原创 iOS 重力感应之箭头指向重力方向
关于CoreMotion的blog有很多,也有讲特别详细的,这里就示范一个特别有用的CoreMotion的简单用法:重力方向的感应,一分钟get方法
2017-07-02 23:15:23 1777
原创 iOS 复制UIView所有的对象
像这样,需要在这三个view里面都加载一个名字为“subView”的UIView,因为各种原因,比如“subView”里面的子view非常多,导致要重新写一个一模一样的特别麻烦,第一个反应是 直接让leftView、centerView、rightView都直接[xxx addSubview:self.subView]; 得了,这里为了让demo运行后看起来更明显,我们直接让“subView”背景色
2017-07-02 12:32:45 4691
SwipeGesture和SearchBar
2017-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人