首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swift - addTarget()不使用addSubview()

Swift中的addTarget()方法用于将一个动作(action)与一个控件的特定事件关联起来。通过调用addTarget()方法,可以在特定事件发生时执行指定的动作。

addTarget()方法的语法如下:

代码语言:txt
复制
func addTarget(_ target: Any?, action: Selector, for controlEvents: UIControl.Event)

参数说明:

  • target:指定动作的目标对象,通常是一个视图控制器或其他对象。
  • action:指定要执行的动作方法,通常是一个带有@objc标记的函数。
  • controlEvents:指定触发动作的事件类型,可以是多个事件类型的组合。

使用addTarget()方法,可以将动作与多种控件事件关联起来,例如按钮的点击事件、文本框的编辑事件等。当指定的事件发生时,目标对象会执行相应的动作方法。

下面是一个示例代码,演示了如何使用addTarget()方法将按钮的点击事件与一个动作方法关联起来:

代码语言:txt
复制
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let button = UIButton(type: .system)
        button.frame = CGRect(x: 100, y: 100, width: 200, height: 50)
        button.setTitle("Click Me", for: .normal)
        button.addTarget(self, action: #selector(buttonClicked), for: .touchUpInside)
        self.view.addSubview(button)
    }
    
    @objc func buttonClicked() {
        print("Button clicked!")
    }
}

在上述代码中,我们创建了一个按钮,并使用addTarget()方法将按钮的点击事件与buttonClicked()方法关联起来。当按钮被点击时,buttonClicked()方法会被调用,并打印出"Button clicked!"。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 30DaysOfSwift - Day1 计时器

    前几天逛Github,偶然看到一个Swift的项目 —— 30DaysOfSwift,作者一共用30个小项目,来熟悉Swift语言,而我正好也学习了一段时间的Swift语言,准备仿照这样的模式,来更加深入的了解...UI部分 今天做的是一个计时器项目 作者在这个项目中,使用AutoLayout来完成自动布局,使用StoryBoard完成UI创建。...而我一直都是喜欢用纯代码布局,UI的搭建也是使用代码完成。所以我在写这个小Demo之前在我的项目里集成了SnapKit,使用类似Objective-C中常用的masonry框架来完成自动布局。...这里我还发现一个Swift中的小问题,使用cocoadPods集成第三方库,引用不到头文件的解决方法和Objective-C不一样。...= UIFont.systemFontOfSize(15) button.backgroundColor = UIColor.clearColor() button.addTarget

    81140

    自学Swift之路(二)UITableView自定义和实际利用

    6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用的值,在OC中,咱们可以使用PCH然后宏定义,然而在Swift中...(loginBtn) loginBtn.addTarget(self, action: "loginAction", forControlEvents: .TouchUpInside)...textColor = UIColor.whiteColor() backBtn.addTarget(self, action: "back", forControlEvents: .TouchUpInside...学了这么几天,我发现Swift还是比较容易入手的,下篇文章我会用一个小的项目,本人是做室内地图SDK的,这次的小项目是仿我OC写的SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己的室内...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版的demo在我们官网:http://www.innsmap.com

    2.3K90

    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验

    最近在学iOS开发,本系列会针对iOS从前到后的开发进行全面讲解,小到开发工具使用,大到应用市场上线。 ?...2.3.2 添加一个按钮,并添加按钮点击事件的监听方法 // 2.创建一个按钮 let btn = UIButton(type: .contactAdd) // 2.1 添加到当前视图 v.addSubview...(btn) // 2.2 添加点击事件 btn.addTarget(self, action: #selector(btnClick), for: .touchUpInside) // 2.3 btnClick...== alloc / init 等价 3.2 类方法类比 Swift: UIColor.yellow OC: [UIColor yellow] 3.3 访问当前对象的属性类比 建议:都不使用self...,不需要使用`:` OC: @selector 3.7 调试对比 Swift: print(xxx) 效率高,log中包含时间,用#function来打印当前执行的方法 OC: NSLog,用__FUNCTION

    4.3K31

    Swift| 基础语法(五)

    前言 总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...(sc) sc.addSubview(mylabel) sc.addSubview(but) sc.addSubview(imageV) // 按钮的点击事件...} 在Swift中,创建tableViewCell的方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView的时候直接注册cell: myTb?....UITabBarController() tabbarController.tabBar.barTintColor = UIColor.white // 注意:视图控制器超过5个时(包含

    2K30

    Swift开发:自定义标签栏UITabBarController (Swift项目开始的第一步)

    Swift的学习过程中,个人感觉虽说两种语言的相似度很大,但是Swift依然在代码风格上有着和OC很大的差异。...在总结了一些基本的用法之后,我尝试使用Swift自定义UITabBarController和UITabbar,开启这Siwft项目的关键一步,首先展示一下效果图: ?...屏幕快照 2017-07-15 下午2.40.54.png 第一步:创建Swift工程# 1.使用Xcode创建一个Swift初始项目ZSTestSwift,效果如下: ?...String for i in 0...controllerNameArray.count-1 { //动态获取的命名空间是包含.的, 所以需要我们自己手动拼接...rootViewController = MainTabBarController(); return true } 总结:以上就是在OC代码的基础上,使用Swift来自定义标签控制器的方法和步骤

    4.3K70

    Runtime再理解

    1,关于编译时和运行时 编译时: Objective-C、Java、Swift等高级语言,其可读性很强,但是并不能直接被机器识别,所以就需要将这些源代码编译成相对应的机器语言(比如汇编语言),最终会生成二进制代码...实际上,当你真正理解了Runtime之后,你会发现:“原来我真的可以用Runtime解决很多实际问题~” (1)Runtime——使用类目给某个类添加属性 (2)通过消息转发防止程序崩溃:Runtime...一般情况下,如果我们需要在某页面进行页面跳转到另外一个页面,那么就在当前页面使用import引入另一页面的文件,然后新建跳转即可。...@"class":@"NormanGreenVC", @"data":@{ @"slogan":@"和谐学习,不急躁...forState:UIControlStateNormal]; [greenBtn setBackgroundColor:UIColor.greenColor]; [greenBtn addTarget

    64520
    领券