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

Swift UIButton显示和淡入子视图:在‘OKButtonPressed]上崩溃:发送了无法识别的选择器

问题描述:Swift UIButton显示和淡入子视图:在‘OKButtonPressed]上崩溃:发送了无法识别的选择器。

回答: 这个问题是在Swift中使用UIButton时出现的崩溃错误。错误提示是发送了一个无法识别的选择器,可能是在按钮的点击事件处理函数中出现了问题。

解决这个问题的方法是检查按钮的点击事件处理函数是否正确设置。首先,确保按钮的点击事件已经正确地与相应的函数绑定。可以通过在按钮的初始化代码中使用addTarget(_:action:for:)方法来绑定按钮的点击事件。

例如,假设有一个名为okButton的按钮,点击事件处理函数为okButtonPressed,可以使用以下代码进行绑定:

代码语言:txt
复制
okButton.addTarget(self, action: #selector(okButtonPressed), for: .touchUpInside)

其中,self表示当前视图控制器或其他合适的对象,#selector(okButtonPressed)表示选择okButtonPressed函数作为按钮的点击事件处理函数,.touchUpInside表示按钮的点击事件类型。

接下来,确保okButtonPressed函数已经正确实现,并且没有拼写错误。可以在函数的定义处添加@objc修饰符,以确保它可以被选择器正确识别。

代码语言:txt
复制
@objc func okButtonPressed() {
    // 处理按钮点击事件的代码
}

另外,还需要检查按钮的父视图是否已经正确添加到视图层级中。如果按钮的父视图没有被正确添加,可能会导致按钮无法响应点击事件。

如果以上步骤都没有解决问题,可以尝试使用调试工具来定位具体的崩溃位置。可以使用Xcode的调试器来逐步执行代码,并查看具体的错误信息和堆栈跟踪,以便更好地理解问题所在。

总结: 在Swift中,当出现UIButton显示和淡入子视图时崩溃,并且提示发送了无法识别的选择器的错误时,需要检查以下几个方面:

  1. 检查按钮的点击事件是否正确绑定,使用addTarget(_:action:for:)方法进行绑定。
  2. 确保点击事件处理函数已经正确实现,并且没有拼写错误,可以添加@objc修饰符。
  3. 检查按钮的父视图是否已经正确添加到视图层级中。
  4. 使用调试工具如Xcode的调试器来定位具体的崩溃位置,以便更好地理解问题所在。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,满足各种业务需求。产品介绍链接
  • 云数据库 MySQL 版(CDB):稳定可靠的云数据库服务,支持高可用、备份恢复等功能。产品介绍链接
  • 云存储(COS):安全可靠的对象存储服务,适用于图片、视频、文档等各种类型的数据存储。产品介绍链接
  • 人工智能开放平台(AI):提供丰富的人工智能能力,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  • 物联网开发平台(IoT):提供全面的物联网解决方案,包括设备接入、数据管理、应用开发等。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift-MVVM 简单演练(一)

你看swift是不是真的简洁许多。...tableViewDelegate以及loadData(自定义加载数据的方法),下一步我们就要在控制器里面测试一下效果。...reloadData() } } ---- 未登录视图显示(访客视图) 现实中经常会遇到一些临时增加的需求,比如登录后显示的是一种视图,未登录又显示另外一种视图,如果你的公司是面向公司内部的APP...到目前为止,虽然我们只是基类控制器里面创建了访客视图setupVistorView,只有一个访客视图的HQVistorView,但是实际上当我们点击不同的控制器的时候,每个子控制器都会创建一个访客视图...总结 使用代理传递消息是为了控制器视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器中剥离出来的,并且能够确认该视图不会被其它控制器引用,

10.2K51

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

、Vim 键绑定支持、Swift 包集合; 可以命令行使用 cktool 与 CloudKit 数据库架构记录进行交互; 可以命令行使用 TextureConverter 将纹理压缩为所有 Metal...的跟踪中导出表数据; Instruments 扩展详细信息视图,现在在选择关联的详细信息视图行时显示 os_log os_signpost 消息回溯; Run Information 视图现在出现在...; 添加了对 UIButton UIBarButtonItem 的 changesSelectionAsPrimaryAction 属性的支持; 支持从对象库中创作和拖动 iOS Core Location...Xcode 13 中的 Swift 语法高亮显示是即时且无闪烁的,无论是文件之间进行编辑还是导航; 即使您的代码不完整或您的项目无法编译,Swift Jump to Definition 现在也能提供更具弹性的体验...发送的默认 Accept-Language 标头具有更新的格式多个区域设置的更正值。

8.7K40

将模型添加到场景中 - 您的环境中显示3D内容

最后几节中,我们能够检测到一个平面并显示一个焦点方块,以帮助我们为模型指定一个位置。我们也熟悉热门测试世界变换。现在,我们拥有显示虚拟对象所需的所有工具。...右侧,我们有ViewController.swift,在那里我们可以找到该出口的声明。单击并拖动左侧的圆圈,它应该是第15行,然后释放到ARSCNView。现在,关闭助理编辑。...添加按钮 我们想在视图中添加一个按钮,用作在场景中添加模型的触发器。从对象库中,将UIButton拖动到场景视图的顶部。“ 属性”检查器中,删除“ 按钮”标题并将图像设置为“ 按钮/添加”。...焦点方块隐藏/显示选项 当我们屏幕显示模型时,我们仍然看到焦点方块干扰我们漂亮的模型。如果我们安置后隐藏它,你怎么说?...FocusSquare类中,让我们创建一个函数来为焦点方块的表示设置动画。将隐藏显示两种情况,因此隐藏值是布尔值。然后我们声明一个SCNAction用于淡入淡出,淡出用于隐藏淡入显示

5.5K20

Swift:静态工厂方法

iOS的UIKitMac的AppKit都为我们提供创建具有原生外观的UI所需的所有基本核心构建块,但是我们经常需要自定义这些外观以适合我们的设计并为其定义布局。...虽然我们可能无法完全摆脱视图控制器(或与此相关的视图)的子类化,但是某些类型的视图控制器可以从工厂方法中受益。...尤其是使用视图控制器时,我们通常最终会得到一组视图控制器,它们只能在其中呈现特定状态,而不是在其中包含大量逻辑。对于那些视图控制器,将其设置移动到静态工厂API可能是一个很好的解决方案。...特别是如果与"Swift:将视图控制器用作插件" 中的便捷API的稍加修改版本结合使用,我们现在可以执行异步操作时轻松添加预先配置的加载视图控制器: class ProductListViewController...handle(result) } } } 对添加便捷API的唯一修改是使其返回添加的视图控制器,从而可以使用点语法的同时获取对其的引用。

2.4K10

iOS开发常用之网络

此项目应该只用于演示或学习之用,没有服务器 - swift。 Atlas-iOS - 快速iOS里集成聊天功能,类似开源版本的环信.Layer家开源一套聊天app界面的解决方案。...WXTabBarController - 系统UITabBarController的基础完美实现安卓版微信TabBar的滑动切换功能,单手操作iPhone 6 Plus切换TabBar一直是一件很痛苦的事情...仿LOL滚动视图 - 仿LOL滚动视图。 答案选择切换页 - 将scrollviewtableview封装在一起,初始的时候简单的将数据带上,就可以一页一页的左右来回滑动。...STPopup - 提供一个可在iPhoneiPad使用的具有UINavigationController弹出效果的STPopupController类,并能在Storyboard很好的工。...DisplaySwitcher.swift - 两个集合视图不同布局(平摊列表)间平滑切换.Yalantis出品。

23.6K10

iOS学习——UIPickerView的实现年月选择器

最近项目需要用到一个选择器选择器中的内容只有年月,而在iOS系统自带的日期选择器UIDatePicker中却只有四个选项如下,分别是时间(时分秒)、日期(年月日)、日期+时间(年月日时分)以及倒计时...,首先是用一个基类来布局我们选择器的整体布局,包括我们的选择器的标题,取消、确定按钮,蒙层等大框架的布局,然后是子类基类的基础添加UIPickerView来实现选择器的基本功能以及数据加载显示。...二 基类布局   在上一部分说了,基类布局主要是对整体的架构进行布局,我们先看下有哪些内容,包括背景蒙层视图、弹出视图(包含标题行(又包含取消按钮、确定按钮标题)、分割线选择器),子类中会进行一个整体的布局...而对于弹出视图中的标题行(包含取消按钮、确定按钮标题)、分割线选择器的具体布局在这里就不进行展开了,很简单的部分,大家自行看一下代码就OK。   ...如果直接在蒙层添加弹出式图作为视图的话,我们的布局相对会简单很多,这里涉及到一点就是视图的透明度是视图保持一致的,如果直接将弹出视图加载到蒙层遮罩视图上,会导致弹出视图的透明度也为0.3,所以弹出视图不能直接加在蒙层遮罩视图

4.2K130

iOS工程师必看的 20 道 面试题

原因是assign修饰的对象被释放后,指针的地址依然存在,造成野指针,堆上容易造成崩溃。而栈的内存系统会自动处理,不会造成野指针。 copy与strong类似。...内存中,引用类型诸如类是堆(heap),而值类型诸如结构体实在栈(stack)上进行存储操作。...继续访问该对象,程序会得到 nil,不亏崩溃 unowned 与弱引用本质一样。唯一不同的是,对象释放后,依然有一个无效的引用指向对象,它不是 Optional 也不指向 nil。...值类型栈上操作,引用类型堆上操作。栈的操作仅仅是单个指针的上下移动,而堆上的操作则牵涉到合并、移位、重新链接等。也就是说Swift这样设计,大幅减少了堆上的内存分配回收的次数。...通过Swift的let设置,使得这些数据达到了真正意义的“不变”,它也从根本上解决多线程中内存访问操作顺序的问题。 设计成值类型还可以提升API的灵活度。

3.7K40

iOS开发常用之图像浏览及处理

ios-image-filters - 图像滤镜,库比较旧,很容易崩溃。 XBImageFilters - 图像滤镜。...HZPhotoBrowser - 一个类似于新浪微博图片浏览器的框架(支持显示隐藏动画;支持双击缩放,手势放大缩小;支持图片存储;支持网络加载gif图片,长图滚动浏览;支持横屏显示)。...在这个自定义视图上创建一个需要的相框大小的视图层把取出的图片赋值给UIImageView按缩放添加到这个层。对uiimageView添加捏合,移动手势。...TZImagePickerController - 一个支持多选,选原图视频的图片选择器,同时有预览功能,适配iOS6789系统。教程。...更换头像 - 用户选取从相机或者相册获取图片,并且显示查看上。 DouBanMeinv.swift - 抓取豆瓣美女图片,瀑布流显示

3.8K60

动画分析步骤“三步曲”

如表1所示描述不同时间段登录按钮的坐标变化情况。幸运的是大家不需要手动设计这一过程,甚至不需要手动写线性渐变的方法,因为iOSUIView的显示层已经帮我们把这个功能集成了。...动画实现的第二阶段第三阶段:动画进行阶段动画结束阶段 要想实现应用打开动画即展现的效果,需要在View视图整体展现之前完成动画实现的第二阶段第三阶段的设置(因为如果视图已经显示才设置动画效果,那么会有动画不连贯的现象...当alpha为0时,表明UIView已经隐藏,当alpha为1时UIView显示。结合这一特征可以通过修改alpha动画开始、结束时的值,实现UIView的淡入淡出效果。...3.Layer属性:圆角渐变、边框颜色、阴影、3D等高级动画效果 UIView是视图显示的容器,负责内容显示事件响应。...小结 通过对本文的学习,相信大家基本掌握动画分析的基本步骤,在这里总结一下动画实现的三个步骤: (1)设置视图的动画初始状态。 (2)添加视图的动画相应属性。 (3)设置视图的动画最终状态。

86710

FL Studio21下载MacOS版简体中文支持苹果M1处理器

查看>测试 - 异步运行测试调试日志 - 调试日志中显示更新的浏览器文件夹的名称。播放列表:音频剪辑淡入增益控制: - 音频剪辑淡入、淡出增益控制,带有可选的自动交叉淡入。...视图 - 按住 (Alt) 可在取消选择“显示淡入淡出预览”/“增益预览”时临时预览淡入淡出增益。菜单 - (右键单击)“显示淡入淡出编辑控件”图标,用于快速访问淡入淡出选项。...警告对话框 - 新增有关近似自动化合并的警告“以后不显示此内容”。合并 - 可以与无法精确合并的近似曲线合并,包括 LFO 模式。自动化剪辑编辑器 - 网格线较粗以提高可见性。...VFX 音序器 (Fruity Edition +) - 一种模式琶音器步进音序器,设计用于 Patcher 中将音符序列发送到连接的乐器插件。...具有多列的视图中搜索时选择第一个文件夹。搜索结果显示具有匹配名称的文件夹。显示完整路径作为筛选项目的提示。查找文件 - 右键单击文件的选项以系统文件浏览器中突出显示它。

4K20

三分钟带你了解FL Studio21版本新增功能

(如果没有其他的话):这个版本混合AlphaBeta特性。我们这样做是为了让您尽早访问并提供反馈以前发展被锁定!如果你有什么建议可以让事情做得更好。现在是时候。...文件(菜单)-有一个新的“更多”菜单,显示多达50个最近的项目音频编辑器(脚本)-康沃尔、爱迪生斯利克斯公司;Python取代PaxCompiler。现有脚本已转换为Python。...音频剪辑渐变增益控制:播放列表%3E编辑(菜单)-选项“用手动淡入淡出创建新剪辑”播放列表%3E视图(菜单)-选项“商店淡入淡出预览”。当取消选择时,增益值对于具有编辑增益的片段将保持可见。...选项“选项卡显示图标和文本”选项系统文件浏览器中定位文件的选项样本预览面板显示采样率,位深度立体声元数据。乐谱MIDI直观地预览整个文件。...文件支持-开幕. m4a音频文件现在是可能的查看%3E测试-异步运行测试触摸控制器-触摸控制器直观显示音符活动爱迪生-信封上增加了多重选择3x Osc、DX10水果踢-现在可以Patcher中使用爱迪生

3.4K00

汇编寄存器的规则

这是与之前显示的方法相同的屏幕截图,除了这次是 iPhone 7 的 ARM64 程序集中: 您现在可能无法区分这两种架构,但是您很快就会知道它们就像手背一样....作为第一个参数,objc_msgSend 获取在其发送消息的对象的引用。 随后是一个选择器,它只是一个 char *,用于指定在对象上调用的方法的名称。...其次,Swift 相对于 OC 并不是动态的。事实,有时候最好假设 Swift 像 C 语言一样。如果知道一个内存地址,你应该显示地强转为你想要的类型。...这意味着当 Swift 调用函数时,先前分配给选择器的 RSI 寄存器实际就是函数的第二个参数。好了,足够的理论 - 是时候将其付诸实践。...sendAction:参数(RDX)将使用选择器,而 to:参数将是 IBAction 的接收器(RCX)。 用寄存器知识轻按 UIButton 查找代码,这有多酷?

2.4K50

成为一名优秀 Swift 开发人员的 10 个小技巧

发送事件; 这是我们 iOS 编码过程中最常见的一些场景。...保证 UI 关键组件可见并在顶部输入 有时界面会很有挑战性,特别是集成了许多功能的应用程序。幸运的是,我有一位 UI/UX 专家与我一起工作,为我提供很多有关如何正确操作的建议。...开发文档中,通知是控制器与模型或服务之间实施通信可同步模式的正确方法,我项目中经常使用 Notification Center,基本实现观察者模式,并让应用程序带有更多响应式的元素。...只需要将所有 UIButton 连接到相同的 @IBAction,然后使用发送方找出触发了该事件中的哪一个,并为该特定行为编写正确的实现即可。...本文中,我将重点更多地放在Swift功能上,以提高代码效率并传递Swift机制的优点。我提供一些简单的示例,说明每个iOS应用程序开发人员应关注的重点。 - EOF -

2.3K40

Swift 周报 第四十一期

周报精选 新闻社区:现推出超过 30 个新的开发者活动 提案:全局变量的严格并发性 Swift 论坛:Swift 6 语言模式的进展 推荐博文:Swift 中的崩溃回溯 话题讨论: 如果公司市中心,...推荐博文 Swift 中的崩溃回溯[9] 摘要: 这篇博客讨论 Swift 5.9 版本中所包含的一些新的调试代码功能,一个能在实时检查崩溃的外部互动性极强的崩溃处理器,一个可以触发调试器进行即时调试的功能... Swift 5.9 版本之前,一旦你的程序运行失败,你只能看到来自父进程(通常是 shell )的消息告诉你进程崩溃。而现在,你得到的信息将会更具有详细性。...许多情况下,你可能会发现你终端开发的程序崩溃,但你无法复现问题。没有适当的崩溃日志,这可能会让你非常沮丧,你知道你的程序有一个 bug ,但你不知道问题出在哪里,也不知道如何复现它。...visualEffect 允许我们通过访问特定视图的布局信息来附加一组可动画的视觉效果。 通过上述示例,我们可以看到定义一个文本视图并附加了 visualEffect 视图修饰符。

21240

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

1.主窗口次窗口     [self.window makekeyandvisible]让窗口成为主窗口,并且显示出来。有这个方法,才能把信息显示到屏幕。     ...提示:如果UItextfield不显示,可以考虑设置它的样式,因为其创建默认是虚线的,没有边框。         ios7里边,主窗口次窗口是没有区别的。         ...UIView可以产生动画效果的变化包括:     • 位置变化:屏幕移动视图。     • 大小变化:改变视图框架(frame)边界。     • 拉伸变化:改变视图内容的延展区域。     ...2.容器视图中设置转换。 3.容器视图中移除视图。 4.容器视图中添加视图。 5.结束动画块。...如果一个视图的区域超过父视图的bound区域(父视图的clipsToBounds属性为NO,这样超过父视图bound区域的视图内容也会显示),那么正常情况下对子视图视图之外区域的触摸操作不会被识别

47930

iOS开发常用之 HUD 弹窗

MMProgressHUD - 设置HUD出现消失的方式(包括上下,左右,淡入淡出,放大缩小等等),设置HUD的内容(可以HUD中加入帧动画,动态图片等等),设置HUD出现时的底部覆盖层颜色,等等...MJPopupViewController - 实现弹出视图的各种弹出消失效果,包括淡入淡出(淡入,淡出),从屏幕上方飞进,下方飞出,从屏幕左方飞进,右方飞出等等效果,弹窗。...ActionSheetPicker-3.0 - 该项目是此前热门项目ActionSheetPicker的新版本,快速复制iOS 8的下拉UIPickerView / ActionSheet功能。....GSAlert解决这个问题。...CustomPopOverView - 自定义弹出视图,内容支持传一组菜单标题,也支持自定义view,或者自定义viewController,支持任意按钮触发,会显示在按钮底部,也支持切换按钮的对齐方式

4.2K20

iOS 事件传递处理

App内:线程接收事件->主线程封装事件->UIWindow启动hitTest确定目标视图->UIApplication开始发送事件->touch事件开始回调。...确定目标视图之后,UIApplication便会发送事件,将UITouchUIEvent发送给目标视图,触发其touches系列的方法。...:(CGPoint)point withEvent:(UIEvent *)event pointInside方法返回pointevent是否自己当前视图上; 这两个方法UIView都提供默认实现,...UIWindow是UIView的子类,UIView的hitTest方法实现上述过程一致。 思考: UIView调用视图hitTest时,是先调用哪些视图?...上文分析手势的识别是发生在响应链回调之前,也就是tap手势是发生在touches系列方法回调之前,那么Tap手势应该是UIButton的touches方法之前。

1.4K20

FL Studio21最新中文版本全新功能详细介绍

导出(Export)-打开目标文件夹时,系统文件浏览器中自动选择渲染的文件。文件(菜单)File (menu)-有一个新的“更多”菜单,最多显示50个最近的项目。...·视图(View)-当取消选择显示淡色预览/增色预览时,按住 (Alt) 可进行淡色增加色彩的临时预览。·菜单(Menu)-(右键单击)“显示淡色编辑控件”图标,用于快速访问淡色选项。...·对齐-当淡入手柄关闭时,按住(Alt)进行淡入,这样(Alt+Click)就不再重置淡入。·快捷键(Shortcut)-添加 (Shift + F) 以切换“显示淡色编辑控件”图标。...具有多列的视图中搜索时选择第一个文件夹。搜索结果显示具有匹配名称的文件夹。...样本预览面板显示采样率、比特深度立体声元数据。选项(Option)-“选项卡显示图标和文本”。浏览器(Browser)-为选项卡添加“冻结”选项。

3.7K20

最新版水果FL Studio21新版本更新全解析!80项更新与改进!

导出(Export)-打开目标文件夹时,系统文件浏览器中自动选择渲染的文件。文件(菜单)File (menu)-有一个新的“更多”菜单,最多显示50个最近的项目。...·视图(View)-当取消选择显示淡色预览/增色预览时,按住 (Alt) 可进行淡色增加色彩的临时预览。·菜单(Menu)-(右键单击)“显示淡色编辑控件”图标,用于快速访问淡色选项。...·对齐-当淡入手柄关闭时,按住(Alt)进行淡入,这样(Alt+Click)就不再重置淡入。·快捷键(Shortcut)-添加 (Shift + F) 以切换“显示淡色编辑控件”图标。...具有多列的视图中搜索时选择第一个文件夹。搜索结果显示具有匹配名称的文件夹。...样本预览面板显示采样率、比特深度立体声元数据。选项(Option)-“选项卡显示图标和文本”。浏览器(Browser)-为选项卡添加“冻结”选项。

3.3K30
领券