ios中的开发一些小工具(就是一个写UIView的自定义组件的脱离环境,可以重新使用)解耦
来源:互联网 发布:windows的相对路径 编辑:程序博客网 时间:2024/06/05 18:52
一般我们都是可以看到ios开发中的tableView的内容,相应的架构的书写我们应该很熟:
1、一个我们在一般的工具上都是以代理为基础,然后实现相应的点触摸的功能,也就是动手了之后的相应时间,这个要写成相应的代理让其在controller类中具体操作。(人动而界面动)
2、由于我们一般都是继承view以及其子类,所以我们是可以以视图为基准,这样我们就能够实现了有关的类似tableView的功能。(设置相应的代理,我们可以设置为代码的设置方式,也就是直接协商delegate,但是同时也通过IBOutlet这个关键字来实现可以拉得delegate的方式)
3、因为我们经常是使用xib结合的,所以我们也会实现加载xib的方法,这样我们就可以实现了相关的概念。所以我们在拉约束的时候,我们在代码中需要实现相应的常量控制。
eg:
/* Create constraints explicitly. Constraints are of the form "view1.attr1 = view2.attr2 * multiplier + constant" If your equation does not have a second view and attribute, use nil and NSLayoutAttributeNotAnAttribute. */+(instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(nullable id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;
尤其是会用到这个方法。
self.contentView.translatesAutoresizingMaskIntoConstraints = NO; 取消那个自动的布局
[self layoutIfNeeded]; 刷新布局
代理的触发就是判断一下代理是否实现了先关的方法:
if ([_clickDelegate respondsToSelector:@selector(doubleClickButton:didSelectrightButton:)]) {
//代理触发即为使用
[_clickDelegate doubleClickButton:self didSelectrightButton:sender];
}
加载xib的方法:
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([GMDoubleClickButton class]) owner:self options:nil];
实现对xib进行加载,有的时候我们可能会获取firstObject,这样就可以获取第一加载的界面等等
4、就是使用,我们在使用的时候经常会在storyboard或者xib中拉入一个view ,也就是工具的父类,让这个view的拥有者是写入我们工具的类名。
然后我们可以通过view界面直接拉取delegate(如果有的话),否则我们需要代码进行设置。
然后实现相应的代理方法,这样我们就可以通过相应内容来实现。实现工具的想过,完全和UItableView一样。
(可能UItableView中可能是使用了两套的,和我们写的delegate的设置有点区别,但是原理是一样的,可能在实现拉取delegate的时候和代码写的都可以,内部实现了两套方案)
- ios中的开发一些小工具(就是一个写UIView的自定义组件的脱离环境,可以重新使用)解耦
- MFC开发的一个类似鲁大师悬浮框小工具(可以检测CPU 内存使用)
- jetty写的一个小工具
- 业余写的一个小工具_XPathTool(C#源码)
- Linux程序设计的一些小工具使用
- 收集夹(收集一些前端开发的小工具)
- 写一个可以快速弹出多种滚轮选择器(PickerView)的小工具
- 用ruby写了一个生成xpcom组件模板的小工具
- 我开发的一个端口映射小工具
- 小工具的使用
- 使用VBIDE开发能在VB6.0IDE环境中自动拷贝工程中的Form图片的小工具
- C++写的小工具
- JS_小工具_自己写了一个画像素画的小工具
- 使用python Tkinter制作一个可以生成重复文本片段的小工具
- IOS开发 使用XIB自定义一个UIView
- IOS开发 使用XIB自定义一个UIView
- IOS开发 使用XIB自定义一个UIView
- IOS开发 使用XIB自定义一个UIView
- 【代码笔记】iOS-3个section,每个都有header.
- 插入排序
- android定位相关
- 第13周 项目2-Kruskal算法的验证
- Scalaz(15)- Monad:依赖注入-Reader besides Cake
- ios中的开发一些小工具(就是一个写UIView的自定义组件的脱离环境,可以重新使用)解耦
- 关于第二次执行fragment+viewpager没有数据,页面空白的问题
- Unity uGui RawImage 渲染小地图
- 外企_IT代码民工四年的工作经验(实际可以算2年)
- 关于Mac下安装pycrypto的问题
- OC_对象copy学习笔记
- hping3-synflood攻击
- Linux IO模式及 select、poll、epoll详解
- OC中NSString 的常用方法