iOS 封装一个带复制功能的UILabel】的更多相关文章

我们发现UILabel不在为我们提供长按弹出复制等操作了, 我们来继承UILabel自己写一个带复制功能的UILabel. 代码: #import "CopyLabel.h" @implementation CopyLabel - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self pressAction]; } return self; } // 初始化…
先上效果图: 这个程序分2个层次,一个是顶部的带UITextField的bar,一个是下拉选择的view,下拉选择的view带有4个自己定义的UIView 我们先定义一个UIViewController叫MyViewController,然后顶部的bar叫TopBarView,下拉选择的view叫TypeSelectView.像UIButton的自己定义的view叫做TypeView TypeView有两种状态,假设手指触摸到的item就是选中状态.所以TypeSelectView应该有个属性表…
1.实现微信的输入工具 实现了大部分功能,各模块实现的很清晰,有利于更好的二次开发(适合自己的需求),我自己总结出来的, 可以更快的让你实现输入工具,不需要扩展的也可以很方便的使用这个输入工具. 1).实现表情键盘,很好的扩展成更多的表情种类 2).实现了+号实现更多的菜单, 3).实现了录音,(使用一个哥们的一个类,类里有名字,不甚感激),做成了类似微信,长按录音 上划取消录音 还有中间的提示,这个使用了一个第三方(MBProgressHUD). 4).输入文本时会自动放大输入框,最大70像素…
现在做后台系统用vue + elementUI 的越来越多,那element ui的 el-table 组件肯定也离不开.虽然element ui的table组件很好.但是表格和分页是分离的.每次写表格的时候都要写分页.这个就比较麻烦了.那我们可不可以把表格和分页封装在一起呢?照这个思路那我们重新封装一个带分页的表格. 思路: 表格组件要包含分页,不用每次都重新写分页 尽量保证el-table原生方法 方便易用 照这个思路我们开始写代码先把表格和分页写在一起 <template> <di…
看了几个轻量级的progress view 我觉得KVNProgress做的最漂亮吧 突然我想为什么我自己不封装一个控件 然后我研究了一下KVNProgress KVN简单的界面是由storyboard搭建的 调用了最简单的showWithStatus,然后用Reveal查看了一下 然后看了Xcode的结构才发现,Loading View 本来是UIView,但是继承自UIImageView,所以在Reveal中显示UIImageView 再来看一下分层结构 父视图本来是UIView 然后我就开…
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption…
一.封装一个View的思路 1.将View内部的业务逻辑(显示内容)封装到View中 2.一般情况下,View的位置应该由父控件来决定,也就是位置不应该固定死在View内部 3.至于View的宽高,根据具体情况来决定要不要由父控件决定…
在实际iOS应用开发中我们经常会用到类似于下图所示的界面,即带有占位文字的文本框:…
在苹果开发者网站申请的证书,是授权mac设备的开发或者发布的证书,这意味着一个设备对应一个证书,但是99美元账号只允许生成3个发布证书,两个开发证书,这满足不了多mac设备的使用,使用p12文件可以解决这个问题. 方法/步骤     为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一…
创建模板类(封装一个类) 例1:新建一个名字叫做 Product 的类 Product.swift File 的内容 class Product { var name: String var description: String var price: Double var stock: Int init(name: String, description: String, price: Double, stock: Int) { self.name = name self.descriptio…