相信很多新人猿猿(包括我自己)对于UIEdgeInsets属性应该不会太陌生了,我们经常用它在表格tableView,滚动视图scrollView,网页视图webView等控件进行内容区域的设置。不过并不是所有的控件都是那么幸运的有自带UIEdgeInsets属性,比如UILabel、UITextField等。那么如果我们不幸遇到需要设置UILabel文字与边框有一段距离的情况,是不是就不好搞了,是不是觉得其它控件有自带UIEdgeInsets属性是多么爽的事,不用担心,其实只要我们重新自定义一个UILabel就能让它也带上UIEdgeInsets属性的。虽然在代码的世界里,还有很多种千奇百怪的方法来实现这种功能,但我仅在此提供自己所用的方法,如果有什么错误或不足之处,请多多见谅。
不多说了,直接上代码:
点h文件中声明一个UIEdgeInsets属性
点m文件中实现UIEdgeInsets属性的set方法
嗯嗯,大概就是这样。我们自定义的UILabel控件就带有了UIEdgeInsets属性,以此类推,自定义别的控件,我们也可以添加我们需求的属性和方法,超级便捷、好用。