- 博客(41)
- 资源 (2)
- 收藏
- 关注

原创 MyLayout和XIB或SB的混合使用方法
MyLayout是一个可以非常简单和方便的实现各种界面布局的第三方开源库。他可以和XIB或者SB以及AutoLayout完美结合。 在构建一个应用的MVC框架中,我们希望模型、视图、控制这三部分都尽可能的低耦合,而苹果推荐的视图部分构建则是通过XIB或者SB来完成的。MyLayout中的各种布局视图就是一个UIView的派生类,因此您可以像使用普通视图一样的在XIB中使用MyLayout布局视图。
2017-06-20 08:40:59
1066

原创 iOS下的界面布局利器-MyLayout布局框架
MyLayout是一套iOS界面视图布局框架。其内核是基于对UIView的layoutSubviews方法的重载以及对子视图的bounds和center属性的设置而实现的。MyLayout功能强大而且简单易用,它集成了iOS Autolayout和Size Classes、android的5大布局体系、HTML/CSS的浮动定位技术以及flex-box和bootstrap框架等市面上主流的平台的界面布局功能。
2017-03-13 08:15:31
4686

原创 iOS界面布局的核心以及TangramKit介绍
TangramKit是iOS系统下用Swift编写的第三方界面布局框架。他集成了iOS的AutoLayout和SizeClass以及Android的五大容器布局体系以及HTML/CSS中的float和flex-box的布局功能和思想,目的是为iOS开发人员提供一套功能强大、多屏幕灵活适配、简单易用的UI布局解决方案。
2016-11-28 09:08:49
4720

原创 IOS自动布局中的浮动布局(6)----MyFloatLayout横空出世
浮动布局是一种功能非常强大的布局体系,从某种程度上来他甚至是相对布局的替代方案,而且要比相对布局要简单,因为里面的子视图之间是不需要设置约束和依赖关系的,单单凭借加入到布局视图的顺序,以及自身的宽高就能完成我们想要的功能。而且其提供的能力甚至要比CSS中的浮动属性更加强大。浮动布局可以用来简单的实现类似于淘宝天猫首页以及ZAKER和今日头条的新闻页面布局。
2016-04-08 10:46:23
5104

原创 IOS不用AutoLayout也能实现自动布局的类(5)----MyFlowLayout横空出世
流式布局MyFlowLayout,是MyLayout的5大布局体系里面的一种布局,MyFlowLayout流式布局提供了4种流式布局类型, 可以用它来构建基于界面流以及一些有规律布局排列的应用场景,比如瀑布流、标签流、九宫格菜单、功能菜单格等多种应用场景。通过采用流式布局进行界面布局代码简单,清晰,而且整个界面结构也易于调整。
2016-02-13 02:40:49
5087
1

原创 UITextField,UITextView实现键盘的自动隐藏以及遮挡时自动上移的功能
iOS下的一个实现UITextField,UITextView,UISearchBar控件的键盘自动取消,键盘遮挡自动移动的插件,不需要编写一句代码就可以实现。
2016-01-08 17:46:46
3348

原创 用UIButton实现各种图文结合功能
UIButton中可以很简单的实现多个风格的图文混排,通过计算可以设置文本的偏移值titleEdgeInsets, 图片的偏移值imageEdgeInsets来实现图左文右、图右文左、图上文下、图下文上、图中文顶、图中文低、图中文上、图中文下等多种风格的图文混排布局。
2015-10-24 21:53:49
4991

原创 IOS不用AutoLayout也能实现自动布局的类(4)----MyTableLayout横空出世
表格布局MyTableLayout,是继线性布局MyLinearLayout, 相对布局MyRelativeLayout, 框架布局MyFrameLayout后又推出的一个以表格为展示风格的布局类,我们可以支持垂直表格,也支持水平表格(瀑布流)两种,可以很方便的进行各种有规律排列的负责布局。
2015-08-27 01:19:37
19098
3

原创 IOS不用AutoLayout也能实现自动布局的类(3)----MyRelativeLayout横空出世
MyRelativeLayout为您提供一个用于相对布局处理的类,通过相对布局的使用我们可以减少代码中的位置和尺寸的硬编码,同时不用因为某个子视图的位置或者大小的变动需要大量编码来进行位置和尺寸的调整,通过对MyLinearLayout,MyFrameLayout的配合使用可以进行各种复杂的界面适配工作。
2015-07-08 00:16:26
9292

原创 IOS不用AutoLayout也能实现自动布局的类(2)----MyFrameLayout横空出世
MyFrameLayout是一个IOS的类似于android的FrameLayout的框架布局,这个布局很方便的能将里面的子视图进行各种方向的停靠处理,因为不是基于AutoLayout的所以可以应用到各个版本的操作系统中去,使用简单,完全脱离了autoresizingMask的繁琐设置的方式。
2015-06-14 18:00:01
6486

原创 IOS不用AutoLayout也能实现自动布局的类(1)----MyLinearLayout横空出世
MyLinearLayout是一个IOS不用AutoLayout就可以实现的自动流式布局解决方案,他同时支持XIB以及代码编写两种模式,使用简单,简洁,易用,而且功能强大。
2015-06-14 01:56:15
33271
2
原创 用MyLayout实现布局性能的提升以及对阿拉伯国家的支持
iOS界面布局库MyLayout和TangramKit已经完成新版本的升级并且已经更新到github和cocoapod上面。这次新版本更新的两个大亮点是对界面布局的性能进行了大幅度的提升和对阿拉伯国家需要进行RTL方向布局的支持。1.性能的提升多说无益,图表最具说服力下面的图表是在iPhone6真机设备上用MyLayout和frame以及AutoLayout进行构建和布局的时间对比表格,里面的数据...
2017-06-13 07:12:19
472
iOS界面布局的核心以及TangramKit的介绍
前言TangramKit是iOS系统下用Swift编写的第三方界面布局框架。他集成了iOS的AutoLayout和SizeClass以及Android的五大容器布局体系以及HTML/CSS中的float和flex-box的布局功能和思想,目的是为iOS开发人员提供一套功能强大、多屏幕灵活适配、简单易用的UI布局解决方案。Tangram的中文即七巧板的意思,取名的寓意表明这个布局...
2016-11-29 21:09:02
4202
原创 一套功能强大的IOS界面布局库
如果您还在通过代码使用frame进行界面布局,但是对位置计算和屏幕尺寸感到厌烦;如果您在使用AutoLayout进行界面布局,但是对其中的约束难以控制和更新,以及因为约束代码而激增您的代码量;如果您希望您的IOS6版本的应用也需要具备sizeClass的功能;那么就请使用这套布局库: https://github.com/youngsoft/MyLinearLayout这套布局库是以andro...
2015-08-28 22:48:21
486
原创 关于网络通信ISO7层定义的通俗化理解
计算机之间网络通信模型中有描述到七层协议的概念,对于这些专业术语来说比较难以理解,但其实在人和人之间的文字交流就是一个通信协议模型。 首先甲和乙要通信时,首先要将脑中的意图表达出来。而这个表达的方式可以是交谈也可以是语言文字,也就是交谈和语言文字是一种意图的载体。单从文字来说,有史以来人类发明了不同的文字,其实不同的文字表述的是一种对单元信息的编码规则。也就是某个语义的规则,
2015-05-07 14:47:43
3234
1
原创 数学领域的函数的递归函数
我们知道在程序设计领域里面会碰到对某个函数的递归调用,同时对于递归调用我们有时候也可以在某些时候转化为非递归调用,转化为非递归调用的目的可以减少栈内存的分配从而减少内存溢出的问题,那么在一般的数学领域中我们也有一些递归的调用的情况,比如在模拟电路中的反馈电路的情况,某次计算的输出又再次作为计算的输入。因此研究递归函数有实际的意义。 假设存在某个函数 y = ⨍(x), 其中x的定义域
2015-04-23 17:38:40
4868
原创 重读微积分的一些体验
上大学的时候学习的微积分,虽然那时候的数学也挺好,但是有一些概念还是知其然不知其所已然。最近在学习图像识别方面的知识,里面用到了大量的微积分学的东西,因此不得不再次重温书本里面的东西。再次阅读时真的发现了一些不同于以往的知识感悟,所以说2千多年前的先辈总结的”温故而知新“真的是很有作用。 导数 以前对导数的理解就是干巴巴的数学公式,就是理解为在某一点上y的增量对
2015-01-27 16:47:16
2681
原创 STL 智能指针
智能指针是用来管理用new分配的内存的指针,他的定义如下:// TEMPLATE CLASS auto_ptrtemplateclass auto_ptr {public:typedef _Ty element_type;explicit auto_ptr(_Ty *_P = 0) _THROW0(): _Owns(_P != 0), _Ptr(_P) {}
2014-04-03 09:32:45
1375
原创 STL 函数适配器
一、函数对象头文件 :functional二、函数对象的基类函数对象就是实现了operator()的对象。在STL中大部分函数对象都是一元函数(一个参数)和二元函数(两个参数).因此STL定义了这两种函数的基类://_A: 参数类型,注意这里不是引用,而就是一个具体的类型//_R: 函数返回类型templatestruct unary_funct
2014-04-03 09:31:14
1252
原创 STL 分配器
STL中默认的分配器是allocator,分配器负责对容器中的容量的分配去配,元素的构造析构等问题。1.分配器类的定义//TYPE指定容器中元素的类型template class allocator2.分配器中的类型定义typedef _SIZT size_type;typedef _PDFT difference_type;type
2014-04-03 09:29:51
1382
原创 STL 迭代器
一、迭代器基类下面的列表定义了迭代器的类型,类型通过使用一个空结构来描述,但是可以通过RTTI来获取迭代器的名称// ITERATOR TAGS (from )struct input_iterator_tag {}; //输入迭代器struct output_iterator_tag {}; //输出迭代器struct forward_iterator_
2014-04-03 09:28:23
1198
原创 stl vector
1.构造函数explicit vector( size_type _Count); //这个构造函数,将构造出_Count个元素,并为每个元素调用构造拷贝函数,其中构造拷贝函数的原对象就一个临时默认构造函数的对象2.vector的迭代器实质就是元素的指针.3.若对vector进行的删除或者添加后,迭代器可能会失效, 在调用单个erase时
2014-04-02 14:14:37
982
原创 stl valarray
1.成批操作。源可以是一个valarray也可以是单个值,若是valarray时则必须要大于等于目标分别重载了: += -= *= /= |= &= >>= 2.对每个元素调用函数对象,产生一个新数组valarray apply( Type _Func(Type)) const;valarray apply( Type _Func
2014-04-02 14:13:43
1138
原创 stl 字符串类
1. 两个基本字符串类对于ANSI类型字符串是使用: typedef basic_string, allocator >string;2.而对于使用UNICODE则是使用typedef basic_string,allocator > wstring;由此可见字符串的基类是basic_string,对于每中类型的字符串都有其特别的特
2014-04-02 14:12:46
951
原创 stl stack
1.栈也是一个容器适配器,也是默认使用deque来作为容器。template >class stack {public:typedef _C::allocator_type allocator_type;typedef _C::value_type value_type;typedef _C::size_type size_type;explicit stack
2014-04-02 14:11:51
943
原创 STL set mutiset
1.概念: set是一个集合容器他不是序列容器而是一个相关容器,也就是迭代器的移动并不是线性的。而且这里的set是采用二叉树做物理存储的。这棵二叉树是一个排序二叉树也就是在中序遍历时是按 〈运算排列的。同时set中是没有重复的元素的。因为set是一个个相关容器,但也是特殊的相关容器,也就是他的健和值是相同的,这不同于map容器。set的迭代器是一种双向的迭代器。2.类的定义
2014-04-02 14:10:42
1102
原创 stl queue
容器适配器: 容器适配器本身没有任何代码,而只是提供一个接口.而具体实现则由容器来实现(接口的实现也是直接调用容器对应的函数)。容器适配器也只是将一个容器做为其数据成员。有些特定的容器适配器只支持特定的容器。容器适配器不支持迭代器1.queue: 这是一个单向队列(FIFO)。也就是说只能从后边插入,从前面删除。STL中的queue默认的是使用deque作为容器。因为queue
2014-04-02 14:09:39
1064
原创 stl priority_queue
1.优先级队列,是一个容器适配器。实际就是在一个堆上进行的插入和读取操作,并保证时时刻刻是一个堆//_C: 系统默认用vector做容器_Pr: 用于内部堆的重新构造(插堆和出堆的判断谓词以决定是大根堆还是小根堆,默认是大根堆)template,class _Pr = less >class priority_queue {public:
2014-04-02 14:08:41
887
原创 STL map mutimap
1.概念: set是一个映射容器他不是序列容器而是一个相关容器,也就是迭代器的移动并不是线性的。而且这里的map是采用二叉树做物理存储的。这棵二叉树是一个排序二叉树也就是在中序遍历时是按 〈运算排列的。同时map中是没有重复的元素的。因为map是一个个相关容器, 其容器中的所有元素都是由 {Key, Value}组成。而且在map中Key必须是唯一的。整个容器是按Key的 谓词比较运算排序的。
2014-04-02 14:07:30
1173
原创 STL list
1.list是一个双向链表,他支持双向迭代器,但不支持随机访问迭代器.2.定义template class Type, class Allocator=allocator >class list3.对于list来说当我们进行删除,添加等操作并不一定会对迭代器进行影响(尤其是不影响begin和end)。所以这跟vector不一样
2014-04-02 14:06:28
772
原创 STL的deque类
1.概念.这是一种随机访问的容器。用于快速的实现尾部和头部的插入和删除,而vector只在尾部插入和删除才是高效的.deque的物理存储结构如图|---| 中心| 0 |---> +---------------+--------------+|---| | 1 |---> +-------------------------
2014-04-02 14:05:28
999
原创 STL中的常用algorithm知识点
1.遍历前向迭代器(forward iterator)template Function for_each( InputIterator _First, InputIterator _Last, //最后这个不算 Function _Func ); //注意这里是返回函数对象本身了, _Func: 函数对
2014-04-02 14:03:56
1180
原创 网页广告中JS代码的信息监听
在一些网页广告中提供的JS代码可以进行代码注入,然后监视各种元素,下面的例子是监视百度输入框的输入的值,然后显示出来,;(function(){function myfn(){ var ssk=document.getElementById("kw"); var ssz=ssk.value; alert(ssz);}var
2014-04-02 13:52:50
1481
原创 网络臭虫
网络臭虫又叫 网络信标(Web beacon),是可以暗藏在任何网页元素或邮件内的1像素大小的透明GIF或PNG图片可以理解为网络臭虫的目的是把用户的信息上传到服务端邮件跟踪和垃圾邮件垃圾邮件的发送者,随机生成邮件的接受者的地址,并在邮件中埋入一个网络臭虫,网络臭虫可以是一个一像素的图片比如:这样当有真实用户打
2014-04-02 13:49:56
3100
原创 Handler Message Messenger
每个线程都有一个Runloop。runloop依次处理系统的消息Message。每个消息要处理前都要投递到线程的消息队列中去,一个Message所包含的内容包括:1.消息的标识what,2.消息的内容,arg1,arg2, object,bundle3.消息的处理者, Handler target。这三者不能缺少。每个消息可以
2014-04-02 13:47:17
1332
原创 Activity和Window的关联
每个Activity都对应一个Window,具体是对应一个PhoneWindow。PhoneWindow不是一个视图,而是有一个DecorView,这是一个FrameLayout的派生类,他是Activity所对应的窗口中最顶级的视图,可以通过Window的getDecorView函数来获取最顶级的视图,这个函数内部会自动创建一个DecorView对象,使用DecorView的原因是Activit
2014-04-02 13:44:33
1557
原创 Cookie在前端开发中的知识点。
Cookie的基本概念和定义:每一个cookie在本地存储包含的内容如下:key 名称value 内容expires 有效期,如果有效期超过则浏览器不会传送到服务器去,如果不指定则为0表示关闭浏览器时就会删除cookie,注意这里的时间是GMT时间格式path 路径,指定那个路径下面的请求上传时才把这个cookie带到服务器,路径指定会对其子路径也有效.默
2014-04-02 13:42:06
2438
原创 UIScrollView类详解
当用户发起触摸滚动时会顺序激发如下的委托调用:scrollViewWillBeginDragging:isTracking:1, isDragging:1, isDelect:0//多次调用scrollViewDidScrollscrollViewDidScroll:isTracking:1, isDragging:1, isDeclerating:0//下
2014-04-02 13:34:00
2952
原创 IOS的底层视频捕获接口
AVCaptureDevice.系统通过AVCaptureDevice来得到和管理设备的输入捕获设备,比如camara和麦克风,对于手机来说有2个carama(前后)和一个麦克风。如果要设置某个设备的属性,那么在设置之前必须要调用(BOOL)lockForConfiguration:(NSError**)outError;来进行锁定,然后
2014-04-02 13:31:06
6293
原创 HTTP协议授权访问
HTTP中带授权要求的处理机制,有些URL访问需要具有权限否则返回401的错误,因此客户端需要在HTTP的请求头中带上授权的用户和密码;或者当我们使用HTTPS协议时,一旦服务器证书不具备信任则需要客户端确认是否信任此服务器证书;或者用HTTPS协议当服务端也需要客户端提供证书时;或者我们是通过代理服务器来请求HTTP的,我们需要提供代理服务器的用户和密码.
2014-04-02 13:28:01
5827
iOS属性字符串封装库
2015-09-09
iOS界面布局库
2015-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人