DAY 23 『 客制化按钮 Custom Button 』

今天要介绍的是如何改变按钮的外观( 圆角、边线 )

成品:


刻好画面後,在 ViewController.swift ( MainVC.swift ) 加入程序码

在专案底下 New Group / New File / 选 Cocoa Touch Class

  • p.s.
    @IBInspectable : 让我们可以在 Attributes inspect 中直接调整属性,但是我们需要在运行之後才能看到结果
    @IBDesignable : 将我们调整的结果直接显示在画面上。

UIButton 圆角设定

UIButton 框线设定
框线宽度

框线颜色


在 MainVC -> Button 的 Custom Class -> Class 选择 刚刚建立的客制化按钮的档案名称

选完後就会多了这些性质可以做变更


附上完整程序码

import UIKit

class CustomButton: UIButton {
    // MARK:- UIButton 圆角设定
    @IBInspectable var cornerRadius: CGFloat = 0.0 {
        didSet {
            layer.cornerRadius = cornerRadius
            layer.masksToBounds = cornerRadius > 0
        }
    }
    // MARK:- UIButton 框线设定 (可在 Attributes inspect 中直接调整属性)
    @IBInspectable var borderWidth: CGFloat {
        get {
            return layer.borderWidth
        } set {
            layer.borderWidth = newValue
        }
    }
    @IBInspectable var borderColor: UIColor {
        get {
            return UIColor(cgColor: layer.borderColor!)
        } set {
            layer.borderColor = newValue.cgColor
        }
    }
}

这样就完成客制化按钮啦!明天会分享客制化 TextField,敬请期待!


<<:  DAY 23- HTTPS、TLS/ SSL

>>:  从零开始的8-bit迷宫探险【Level 27】神助攻-老弟帮我配个音效

踏上在AI时代追求人性之路(2):从设计背景出发

上一篇聊了从技术背景出发如何踏上追求人性之路, 这篇我想就我所知的部分, 聊聊如果是设计背景如何往这...

JavaScript的执行阶段: Execution Context

为了知道那些常被拿来考观念的专有名词是哪里来的, 这篇要先整理 JS的 Execution Cont...

Angular Reactive Forms 自订表单验证器

中秋连假开始啦,先祝大家中秋节快乐!! 接连着前两天的日记文插播, 今天就接续着先前还没聊完的部份开...

【Day 27】关於 Deno 以及基础安装

关於 Deno Deno 上一次调整後,为了效能问题,将核心模块从 Typescript 改回 J...

WSL2, VM, Dual Boot, Proxmox怎麽选?

更多会员限定文章可以到patreon观看 WSL2, VM, Dual Boot, Proxmox怎...