zoukankan      html  css  js  c++  java
  • iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)

    iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)

    2.使用代码添加按钮实现的响应

    使用代码添加的按钮,实现响应需要使用到addTarget(_:action:for:)方法,其语法形式如下:

    func addTarget(_ target: AnyObject?, action: Selector, for controlEvents: UIControlEvents)

    其中,参数说明如下:

     

    • target:表示目标对象。它是动作消息的发送方。
    • action:表示选择器,用来识别动作消息。它不可以为空。
    • controlEvents:表示控件事件。在iOS中有19种控件事件,如表2-4所示。

    表2-4  控件事件

    控件事件

    解释

    touchDown

    单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候

    touchDownRepeat

    多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。

    touchDragInside

    当一次触摸在控件窗口内拖动时。

    touchDragOutside

    当一次触摸在控件窗口之外拖动时。

    touchDragEnter

    当一次触摸从控件窗口之外拖动到内部时。

    touchDragExit

    当一次触摸从控件窗口内部拖动到外部时。

    touchUpInside

    所有在控件之内触摸抬起事件。

    touchUpOutside

    所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。

    touchCancel

    所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。

    valueChanged

    当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。开发者可以配置滑块控件何时发送通知

    editingDidBegin

    当文本控件中开始编辑时发送通知。

    editingChanged

    当文本控件中的文本被改变时发送通知。

    editingDidEnd

    当文本控件中编辑结束时发送通知。

    editingDidEndOnExit

    当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。

    allTouchEvents

    通知所有触摸事件。

    allEditingEvents

    通知所有关于文本编辑的事件。

    applicationReserved

    提供一系列应用程序使用的控制事件的值

    aystemReserved

    控制事件值的范围内保留供内部使用的框架

    AllEvents

    通知所有事件。

    【示例2-5】以下将实现轻拍按钮,改变主视图背景颜色的功能。代码如下:

     

    • import UIKit
    • class ViewController: UIViewController {
    •     var isCyan:Bool=false
    •     override func viewDidLoad() {
    •         super.viewDidLoad()
    •         // Do any additional setup after loading the view, typically from a nib.
    •         let button=UIButton(frame: CGRect(x: 90, y: 545, 225, height: 30))
    •         button.setTitle("Tap me,Change View Color", for: UIControlState())                       //设置按钮的标题
    •         button.setTitleColor (UIColor.black, for: UIControlState())                                         //设置按钮标题的颜
    •         self.view.addSubview(button)
    •         button.addTarget(self, action: #selector(ViewController.tapbutton), for: UIControlEvents.touchUpInside)
    •     }
    •     @objc func tapbutton(){
    •         if(isCyan){
    •             self.view.backgroundColor=UIColor.white
    •             isCyan=false
    •         }else{
    •             self.view.backgroundColor=UIColor.cyan
    •             isCyan=true
    •         }
    •     }
    • ……
    • }

    此时运行程序,首先会看到如图2.14的效果。当轻拍Tap me,Change View Color按钮后,主视图的背景变为青色,如图2.15所示。当再一次轻拍Tap me,Change View Color按钮,主视图的背景颜色将会变回原来的白色。

     

    图2.14  运行效果                                 图2.15  运行效果

  • 相关阅读:
    Delphi / C++ Builder 使用 UDT ( UDP-based Data Transfer ) 4.11
    STUN: NAT 类型检测方法
    udt nat traverse
    UDT: Breaking the Data Transfer Bottleneck
    Freescale OSBDM JM60仿真器
    How To: Perl TCP / UDP Socket Programming using IO::Socket::INET
    NAT类型与穿透 及 STUN TURN 协议
    根据PID和VID得到USB转串口的串口号
    pic/at89c2051 programmer
    IC开短路测试(open_short_test),编程器测试接触不良、开短路
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/8662261.html
Copyright © 2011-2022 走看看