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

当点击UIButton时,你如何让它变大,然后使用Swift 3恢复到以前的/正常大小?

当点击UIButton时,可以通过以下步骤让它变大,并使用Swift 3恢复到以前的/正常大小:

  1. 首先,为UIButton添加一个点击事件的监听器。可以使用addTarget方法来实现,将按钮的点击事件与一个自定义的方法关联起来。
代码语言:txt
复制
button.addTarget(self, action: #selector(buttonClicked), for: .touchUpInside)
  1. 在自定义的方法buttonClicked中,可以通过改变按钮的transform属性来实现按钮的放大效果。可以使用CGAffineTransform的scale方法来实现。
代码语言:txt
复制
@objc func buttonClicked() {
    UIView.animate(withDuration: 0.2, animations: {
        self.button.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
    }) { (_) in
        // 恢复到以前的/正常大小
        UIView.animate(withDuration: 0.2) {
            self.button.transform = CGAffineTransform.identity
        }
    }
}
  1. 在上述代码中,使用UIView的animate方法来实现动画效果。首先,在0.2秒内将按钮的transform属性设置为放大1.2倍,然后在动画完成后,再次使用0.2秒的时间将按钮的transform属性恢复为正常大小。

这样,当点击UIButton时,按钮会有一个放大的动画效果,并在动画完成后恢复到以前的/正常大小。

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

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎TKE:https://cloud.tencent.com/product/tke
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储COS:https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/bcs
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iot
  • 腾讯云网络安全:https://cloud.tencent.com/product/ddos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift| 基础语法(五)

前言 总结下 swift基础语法,里面涉及:常量&变量、Swift数据类型、逻辑分支、循环、字符串相关、数组和字典、方法书写调用等内容,考虑阅读体验分多篇来展示,希望对大家学习swift...、UIButton、UIImageView使用 UITableView使用 UITableView使用 单例 从相册选择照片或者拍照 ---- 一、纯代码创建应用根试图 func application...print("按钮点击了: \(butTitle)") } 三、UITableView使用 var myTb : UITableView?...register(MyNewTableViewCell.self, forCellReuseIdentifier: "myCell") 注册了Cell之后,在没有可重用Cell时会自动创建,并且不能在需要手动创建...因为在Swift中,所有对象构造器默认都是public,所以需要重写init其成为私有的。 这样就保证像如下代码编译报错,不能通过。 六、从相册选择照片或者拍照 ?

2K30

iOS工程师必看 20 道 面试题

ARC使用是为了解决对象retain和release匹配问题。以前手动管理造成内存泄漏或者重复释放问题将不复存在。 以前需要手动通过retain去为对象获取内存,并用release释放内存。...File-private 也是 Swift 3 新添加权限。其被修饰对象只能在当前文件中被使用。例如它可以被一个文件中 class,extension,struct 共同使用。...weak 和 unowned 使用场景有如下差别: 访问对象该对象可能已经被释放了,则用 weak。比如 delegate 修饰。 访问对象确定不可能被释放,则用 unowned。...要给一个UIButton增加一个点击后抖动效果,该怎样实现? 解决方案有三种。个人推荐用protocol来解决。...实现一个自定义UIButton类,在其中添加点击抖动效果方法(shake方法) 写一个UIButton或者UIView拓展(extension),然后在其中增加shake方法 定义一个protocol

3.7K40
  • iOS开发之虾米音乐频道选择切换效果分析与实现

    ,下面会对效果进行分析,并且根据自己理解去实现一个类似的频道选择切换效果。代码会在Github上进行分享,Demo实现时依然是使用Swift语言。...从下方效果可以直观看出,点击切换被选中Tab会放大,并且上次选中Tab会缩小到原来未选中状态。不难看出在放大Select Tab基线是不变,就是放大效果是从下往上去走。...我们可以把上述切换效果来慢放看一下具体切换效果,在切换,效果可分为以下几步: 首先点击 Tab, 选中Tab高亮,上一个被选中Tab恢复原色。  ...三、具体实现方式 在实现该Demo,尝试了几种方案来实现上述效果,之前实验方案如下: 先是使用了CollectionView, 然后对CollectionView进行自定义动画,在点击CollectionView...然后使用Scroll + UIButton方式,发现字体放大实现不了,虽然字体可使用Scale进行放大,放大后在替换成正常Font, 但是这种效果实现后并不理想,放大过程还是会虚掉。

    1.6K30

    【IOS开发基础系列】UIAlertController专题

    使用对话框(alert)还是使用上拉菜单(action sheet),就取决于在创建控制器,您是如何设置首选样式。...举个栗子吧,要重新建立原来登录和密码样式对话框,我们可以向其中添加两个文本框,然后用合适占位符来配置它们,最后将密码输入框设置使用安全文本输入。     ...Observer模式定义对象间一对多依赖关系,一个对象状态发生改变, 所有依赖于对象都得到通知并被自动更新。我们可以在构造代码块中添加如下代码片段来实现。     ...        如果上拉菜单中有“取消”按钮的话,那么永远都会出现在菜单底部,不管添加次序是如何(就是这么任性)。...由于在本例中我们是使用了常规UIButton来触发上拉菜单,因此我们就将其作为描点。

    50130

    窥探Swift编程之别样HelloWorld

    然后点击Next, 如果在你项目中要使用CoreData来存储数据的话,可以选择User Core Data。 ?     4....2.给我们Button关联相应点击事件,Connection选择Action, 然后在取个名(tapHelloWorldButton), 类型选为UIButton, Event选为 Touch Up...这一步我们就为Button关联了点击事件了。  ?   ...4.接下来激动人心时刻到了,我们来运行一下我们SwiftDemo工程(可以真机调试,也可以使用模拟器调试),下面是运行出来效果,点击Hello World!会弹出我们定义好提示框啦。...三,总结     到此为止,已经学会如何去创建一个Swift语言工程,并且如何去实现Hello WorldUI,以及如何给Button关联相应事件.

    1.8K80

    iOS 10中如何搭建一个语音转文字框架

    然后创建一个microphone按钮被点击时会触发按钮执行方法。...使用Speech Framework 为了能使用Speech framework, 必须首先导入然后遵循 SFSpeechRecognizerDelegate 协议。...现在点击Run按钮,应该可以编译和成功运行app了,不会报任何错误。 ? 注意:如果稍后在工程运行完成还没有看到语音输入授权框,那是因为是在模拟器上运行程序。...} 这个方法会在Start Recording按钮被点击时调用。主要功能是开启语音识别然后聆听你麦克风。我们一行行分析上面的代码: 3-6行 – 检查 recognitionTask 是否在运行。...把app部署一个iOS10设备,然后点击“Start Recording”按钮。去说些什么吧! 注意: 苹果公司对每个设备识别功能都有限制。

    2K20

    Swift 2.2 最基本多线程

    昨天晚上苹果召开了发布会,第二天除了知道 iPhone SE 和 IOS9.3 之外,还记住了什么,这一天还是老样子,继续着我们Swift基本学习,但出现了许多警告,进去看看文档宝宝才知道...swift本来就是一个新编程语言,虽然是苹果公司主推荐给开发者,但毕竟是新,才出了一年多,更新完善很正常,只有一款完善语言,成熟开发语言,才能做出更好软件。。这你得相信。...// 这是一个按钮点击事件 func tapclick1(buy:UIButton) -> Void { // 最基础原始 NSThread //...// 这里 once 必须是个变量,这里就有内存管理问题,变量存储是该对象地址,并且变量你也只有初始化了才能分配到内存,这些都是最基础东西,感觉这些东西要清楚了,其实在你不管学习什么语言过程中都会帮助到你...func tapclick(buy:UIButton) -> Void { // Selector 这里也改变了 可以试着给一个Button 加一个点击事件,Xcode

    75470

    iOS 面试策略之经验之谈-面向协议编程

    优点被无数程序员称颂,解决了诸多开发中大小问题。那么问题来了,既然 OOP 如此万能,为什么 Swift 要弄出全新 POP ? [1240] 笔者认为,原因有三。...既然子类要重写,那么在父类中实现在这种时候就显得多此一举。解决方案使用 protocol,这样方法就不需要用具体实现了,交给服从类或结构体即可。 多继承。 ...程序会崩溃 } // Swift使用了POP let vc = ... let tvc = ... let ob = ......实现一个自定义 UIButton 类,在其中添加点击抖动效果方法(shake 方法); 写一个 UIButton 或者 UIView 拓展(extension),然后在其中增加 shake 方法;...associatedType 就是关联类型,实际上是一个类型占位符,这样我们可以 Dog 和 Cat 来指定 FoodType 到底是什么类型。

    1.3K20

    平面检测-搜索真实世界表面

    右键单击ViewController.swift并选择新建文件...。然后,在Source下选择Swift File,点击Next。...该didAdd方法相机检测到物体会通知我们,然后标记。一个锚是类型ARAnchor给出关于跟踪对象位置,取向和尺寸信息。ARAnchor有意用于在场景上放置虚拟对象。...在Scene Editor中看过。您现在正在学习如何在代码中应用它。 飞机位置 所以,就像我们为手表所做步骤一样,我们需要定位。将平面节点放在检测到曲面的中心。...因此,我们能够在检测到表面将其可视化,在我示例中是地板。但我们知道地板比那更大。不幸是,当我四处走动,网格并没有变大。 ?...检测平面锚点是允许我们添加模型,就像它们坐在它们上一样,使其成为更真实体验。您在本教程中学到内容不仅可以您了解如何模拟真实曲面,还可以模拟现实生活中事件。

    2.9K30

    汇编寄存器规则

    # 汇编寄存器规则 在本章中,您将了解 CPU 使用寄存器,并研究和修改传入函数参数。您还将了解常见苹果计算机架构,以及如何在函数中使用它们寄存器。这就是所谓架构调用约定。...了解汇编如何工作以及特定架构调用约定如何工作是一项极其重要技能。它可以您观察没有源代码函数参数,并允许您修改传入函数参数。... Swift 调用一个函数__不需要使用 objc_msgSend__,除非您当然标记了使用动态方法。...这意味着 Swift 调用函数,先前分配给选择器 RSI 寄存器实际上就是函数第二个参数。好了,足够理论 - 是时候将其付诸实践了。...请记住,第六个参数之后参数将进入堆栈。 # RAX,用于返回寄存器 等等 -- 还有呢!这里,已经了解了函数中六个寄存器是如何调用,但是返回值呢?

    2.5K50

    ·第三方网络图片处理框架:SDWebImage(官方文档翻译篇)

    使用GCD和ARC 2. 支持图像格式 ---- UIImage支持图像格式(JPEG,PNG,...)包括GIF WebP格式,包括动画WebP(使用WebP subspec) 3....通过从Github下载项目或者使用CocoaPods尝试更简单方法来尝试这个例子pod try SDWebImage 进入安装步骤 阅读SDWebImage 4.0迁移指南,了解从3.x4.x更改...常见问题 ---- 9.1 UITableViewCell与使用动态图像大小尺寸 UITableView根据单元格第一个图像集,确定图像大小尺寸。...如果您无法控制您正在使用图像服务器,那么内容更新,您可能无法更改该URL。例如,Facebook头像URL就是这种情况。...默认情况下,只会得到Core,所以如果需要WebP,需要指定)。

    3.6K20

    实现更安全、高扩展自定义键盘 非UIButton

    正是因为如此便利,有心之人想要抓取点击事件、title等等也是非常便利 苹果官方键盘 苹果官方键盘,通过 Reveal 可以看到,只要是涉及具体实体按键,底层都是一张图片。...删除事件已经集成完毕 回调事件已经集成完毕 触摸事件已经封装完善,在触摸了每个字母都有回调 每个按键点击事件已经完成,只需在事件中作出不同处理即可 未完成: 键盘上字母未实现随机 简化调用 使用介绍...所有按键基类 暴漏给子类按键,重写按键高亮和正常方法 KKeyBoardNormalView 已实现普通文本按键。可以直接使用。...主要处理长按事件,按下不松手,连续回调删除事件 KKShiftItemView 已实现shift按键。可以直接使用。 shift 按键一个实现。...身份证号键盘 源码在 我github 上 【注】请使用 Swift 3 运行

    77120

    iOS之深入解析Xcode 13正式版发布40个新特性

    十、文档 Xcode 可以根据 Swift 代码中注释以及随附文章生成文档; 编写项目文档,Code completion 会提供建议。...Builder 现在支持 UIButton.menu; 编辑启动 storyboards ,如果总图像资源大小超过运行时阈值限制,Xcode 会发出设计时警告; Watch Storyboards... showsExpansionTextWhenTruncated 属性以在标签被截断显示工具提示扩展; 从文档检查器 > 模拟指标 > 场景大小自定义 Mac Catalyst 模拟场景大小; 通过属性检查器为使用...构建应用程序选择首选行为风格; 在视图控制器大小检查器中使用 Freeform 模拟度量 Storyboard 场景现在可以直接在画布中使用调整大小旋钮调整大小; NSButton 斜角类型在...; 可以通过选择 Edit > Copy Location 以 : 形式将所选内容的当前位置复制剪贴板; 在 Swift 中将占位符扩展为闭包,代码完成使用闭包参数名称而不是 ;

    8.7K40

    Swift基础语法(四)

    请求成功,data参数包含response中数据,error是nil;发生错误时,error指明具体错误,data为nil。...访问权限 模块和源文件 模块:独立单元构建和发布单位,可以理解为一个特定功能代码集合,并且可以使用Swiftimport关键字导入另一个模块。...在混合项目中,就会存在两种语言相互调用情况。那么,如何才能在一个项目中两种语言可以相互调用呢?...这个提示大意是:添加这个文件会创建一个Swift和OC混合项目,是否希望Xcode自动配置一个桥接头文件来两种语言类文件相互可见?...首先,使用源代码形式打开项目中info.plist文件; 然后找到CFBundleExecutable,它对应值就是命名空间。 ?

    3.9K20

    应用程序内购买教程:入门

    如果只有我可以沙箱测试人员去购买我杂货店:]以下是如何使用测试人员帐户: 转到您iPhone并确保您已退出正常App Store帐户。...点击购买商品即可享受新RazeFace。 最后会看到这个“Swift Shopping”RazeFace,一直听到这么多! ?...Swift Shopping RazeFace 恢复购买 如果用户删除并重新安装应用程序或将其安装在其他设备上,则他们需要能够访问以前购买项目。...您已经设置了事务观察器并实现了方法来处理上一步中恢复事务。 要对此进行测试,请在上一步中完成购买后,从设备中删除该应用。再次构建并运行,然后点击右上角恢复”。...text = "Not available" } } 无法使用设备付款,此实施将显示更合适信息。

    5.4K20

    Swift多线程:GCD进阶,单例、信号量、任务组1. dispatch_once,以及Swift单例2. dispatch_after3. 队列循环、挂起、恢复4. 信号量(semaphore

    static var背后已经在使用dispatch_once了,所以从Swift 3开始,就干脆把dispatch_once显式取消了。 凸(艹皿艹 ),那Swift里面的单例怎么写呐?...如果需要循环任务里面有特别耗时操作,我们上一篇文章里面说是应该放在global里面的。如何避免在主线程操作这个呐??? 来,给三秒间想想。...看到调用这个方法时候是不是就是在UI线程里面这么写下来嘛?那就开启一个gloablQueue,来进行不就好了嘛!BINGO! 这位同学,已经深得真谛,可以放学后到我家后花园来了。...嘿嘿✧(≖ ◡ ≖✿)嘿嘿 3.2 队列挂起与唤醒 如果一大堆任务执行着时候,突然后面的任务不想执行。那怎么办呐?我们可以暂时先挂起,等想好了再让它们运行起来。...任务组 GCD任务组在开发中是经常被使用到,需要一组任务结束后再执行一些操作,就可以用它啦。

    2.5K50

    使用Swift和Xcode开发iOS应用详细教程

    在本篇博客中,我们将一步步地介绍如何使用Swift和Xcode创建一个简单iOS应用。我们将涵盖项目的创建、界面设计、Swift代码编写以及应用运行。让我们开始这个令人兴奋开发之旅!...选择存储项目的位置并点击“Create”完成项目的创建。步骤3:设计应用界面在Xcode左侧导航栏中找到Main.storyboard文件,这是应用主界面设计文件。...在Storyboard中,可以使用图形界面设计应用用户界面。拖拽各种界面元素(如按钮、标签等)视图控制器中。...}}在这个例子中,我们假设已经在Main.storyboard中创建了一个按钮和一个标签,并将它们分别关联ViewController.swift文件中myButton和myLabel属性。...已经成功创建并运行了一个简单iOS应用程序,使用Swift语言和Xcode进行开发。这只是一个入门示例,可以根据需要扩展应用,添加更多功能和界面元素。

    1.1K10

    Swift-MVVM 简单演练(三)

    时候,默认显示时长可能会不符合使用规则。...于是我就想到了,如果不设置偏移量是各个宽度一半的话,最开始显示虽然有问题,但是是不是,点击正常了呢。果不其然。...使用layoutIfNeeded 函数自动布局系统,提前更新当前收集约束变化 但是我们这里不是控制器,只是一个View,里面并没有viewDidAppear方法。我们就要找到一个类似的办法。...使用layoutIfNeeded 函数自动布局系统,提前更新当前收集约束变化 因此,我们手动调用一下layoutIfNeeded方法,将代码布局约束都创建好,并显示出来,然后再进行更新约束动画...,所以开发,不能在这个方法里面处理UI,而且如果是xib开发的话,打印视图的话,结果都是nil

    2.5K30
    领券