IOS学习日记之UIView与视图(二)按钮UIButton

461 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情

大家好,我是小黑,一个还没秃头的程序员~~~

大家好,今天介绍的控件是按钮-UIButton,效果如下:

image.png

image.png

image.png

image.png

话不多说,正文开始

UIButton

UIButton是一种执行自定义代码以响应用户交互的控件

当你点击一个按钮,或选择一个有焦点的按钮时,按钮执行任何附加到它的操作。你可以使用文本标签、图像或两者同时使用来传达按钮的目的。按钮的外观是可配置的,所以你可以着色按钮或格式标题,以匹配你的应用程序的设计。你可以添加按钮到你的界面编程或使用界面生成器。

在界面中添加按钮时,请执行以下步骤:

  1. 在创建时设置按钮的类型
  2. 提供一个标题字符串或图像,根据内容适当调整按钮的大小
  3. 为按钮添加点击事件

响应按钮点击

按钮使用目标-操作设计模式,当用户点击按钮时通知应用程序。不是直接处理触摸事件,而是将操作方法分配给按钮,并指定哪些事件触发对方法的调用。在运行时,按钮处理所有传入的触摸事件,并在响应中调用你的方法。

你可以使用addTarget方法或在Interface Builder中创建一个连接来连接一个按钮到您的操作方法。

func addTarget(_ target: Any?, 
        action: Selector, 
           for controlEvents: UIControl.Event)

操作方法的定义如下:

@objc func funcName(){
      code
    }
属性说明
titleLabel显示按钮当前值的视图
title返回与指定状态相关联的标题
attributeTitle返回与指定状态关联的样式标题
titleColor返回用于某个状态的标题颜色
titleShadowColor返回用于某个状态的标题的阴影颜色
adjustsImageWhenHighlighted用于确定按钮高亮显示时图像是否发生变化
adjustsImageWhenDisabled用于确定禁用按钮时图像是否会更改
showsTouchWhenHighlighted确定点击按钮是否会使其发光
backgroundImage返回用于按钮状态的背景图像
image返回用于按钮状态的图像
preferredSymbolConfigurationForImage返回按钮状态的首选符号配置
tintColor应用于按钮标题和图像的着色颜色
contentEdgeInsets按钮内容的内间距

以上部分属性使用setXXX即可实现属性的配置,属性数量过多,大家按需自查,这里就不一一列举了

下面是一个简单的按钮的代码:

 button=UIButton(type: UIButton.ButtonType.system)
        button.setTitle("OK", for: UIControl.State.normal)
        button.setAttributedTitle(NSAttributedString(string: "我是UIButton"), for: .normal)
        button.setTitleColor(.red, for: .normal)
        button.setTitleColor(.orange, for: .normal)
        button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
        let buttonWidth:CGFloat = 200
        let buttonHeight:CGFloat = 50
        let buttonTop:CGFloat = titleBarHeight+70
        button.frame = CGRect(x: (screen.size.width-buttonWidth)/2, y: buttonTop, width: buttonWidth, height: buttonHeight)
        button.addTarget(self, action: #selector(onClick), for: UIControl.Event.touchUpInside)
        self.view.addSubview(button)
        
        
 ....
 
    @objc func onClick(sender:AnyObject) {
        self.button.setTitle("我被点击了", for: UIControl.State.normal)
    }

效果图见文章首部

以上便是IOS中关于UIButton的使用,今天的UIView学习分享就到这里,后面我会持续输出iOS开发笔记,感谢大家的阅读!共同努力!大家晚安!