swift 定制自己的Button样式

Posted PaulpauL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 定制自己的Button样式相关的知识,希望对你有一定的参考价值。

swift的UIButton类中有些公开方法可以重写,所以,如果想写出自己的UIButton,只要继承UIButton类,并重写相应的方法即可。

系统的UIButton可以添加图片,也可以添加标题,但是不能同时都加上去,怎么办呢?

import UIKit

class BackButton: UIButton
{
    
    override func titleRectForContentRect(contentRect: CGRect) -> CGRect
    {
        return CGRectMake(self.frame.size.width/3.0, self.frame.size.height/6.0, self.frame.size.width/4.0*3.0, self.frame.size.height/3.0*2.0)
    }
    override func imageRectForContentRect(contentRect: CGRect) -> CGRect
    {
        return CGRectMake(0, self.frame.size.height/6.0, self.frame.size.width/4.0, self.frame.size.height/3.0*2.0)
    }

}

 

上面这个简单的类改变了UIButton中的图片和标题的位置,使用该类创建的button可以同时给button添加图片和文字,如下:

 

let backBtn = BackButton()
backBtn.frame = CGRectMake(0, 0, 60, 30)
backBtn.setImage(UIImage(named: "backImg"), forState:UIControlState.Normal)
backBtn.setTitle("返回", forState: UIControlState.Normal)

 

更多的方法重写,未完待续... ...

以上是关于swift 定制自己的Button样式的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 引入本地定制 jar 包

SwipeRefreshLayout,用最少的代码定制最美的上下拉刷新样式

如何使用 Swift 创建底部表单样式模型视图控制器?

2017-11-09 好看的样式

如何自定义android Button样式

Sublime Text自定制代码片段(Code Snippets)