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

如何实现两个垂直按钮在swift 5中删除

在Swift 5中实现两个垂直按钮的删除可以通过以下步骤完成:

  1. 创建两个按钮:可以使用UIButton类来创建按钮,并设置按钮的frame、标题、背景颜色等属性。例如:
代码语言:txt
复制
let button1 = UIButton(frame: CGRect(x: 50, y: 100, width: 100, height: 50))
button1.setTitle("Button 1", for: .normal)
button1.backgroundColor = UIColor.blue

let button2 = UIButton(frame: CGRect(x: 50, y: 200, width: 100, height: 50))
button2.setTitle("Button 2", for: .normal)
button2.backgroundColor = UIColor.red
  1. 添加按钮点击事件:为按钮添加点击事件,以便在点击时执行删除操作。可以使用addTarget方法来为按钮添加点击事件的处理函数。例如:
代码语言:txt
复制
button1.addTarget(self, action: #selector(deleteButton(_:)), for: .touchUpInside)
button2.addTarget(self, action: #selector(deleteButton(_:)), for: .touchUpInside)
  1. 实现删除按钮的处理函数:在处理函数中实现删除按钮的逻辑。可以通过调用removeFromSuperview方法将按钮从父视图中移除。例如:
代码语言:txt
复制
@objc func deleteButton(_ sender: UIButton) {
    sender.removeFromSuperview()
}
  1. 将按钮添加到视图中:将创建的按钮添加到视图中,以便在界面上显示出来。可以使用addSubview方法将按钮添加到父视图中。例如:
代码语言:txt
复制
self.view.addSubview(button1)
self.view.addSubview(button2)

完整的示例代码如下:

代码语言:txt
复制
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let button1 = UIButton(frame: CGRect(x: 50, y: 100, width: 100, height: 50))
        button1.setTitle("Button 1", for: .normal)
        button1.backgroundColor = UIColor.blue
        button1.addTarget(self, action: #selector(deleteButton(_:)), for: .touchUpInside)
        
        let button2 = UIButton(frame: CGRect(x: 50, y: 200, width: 100, height: 50))
        button2.setTitle("Button 2", for: .normal)
        button2.backgroundColor = UIColor.red
        button2.addTarget(self, action: #selector(deleteButton(_:)), for: .touchUpInside)
        
        self.view.addSubview(button1)
        self.view.addSubview(button2)
    }
    
    @objc func deleteButton(_ sender: UIButton) {
        sender.removeFromSuperview()
    }
}

这样,当点击按钮时,对应的按钮将会被从视图中删除。

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

相关·内容

苹果重磅发布Swift 6: Swift 6 中如何实现并发开发?相比Swift 5.5 有哪些重磅升级?

Swift 6 中实现并发是语言功能的一个重要扩展,旨在简化并发编程并提高程序的安全性和效率。...以下是一些关键点和步骤,帮助你 Swift 6 中实现并发: 1、 结构化并发:Swift 6 引入了结构化并发模型,允许你以声明式方式编写并发代码。...Swift 6 允许你并发任务中抛出和捕获错误,确保程序的健壮性。...这意味着 Swift 6 中,编译器会默认进行更严格的并发检查,以确保代码的线程安全性。...6、 非连续元素的集合操作: Swift 6 引入了非连续元素上添加集合操作的方法,例如移除或删除不连续的多个条目。这由新的 RangeSet 类型提供支持。

19510

5 分钟,带你快速撸一个 iOS App

本篇文章,将和大家聊聊如何快速编写一款 iOS 原生 App 2....准备 要实现原生 iOS 应用,我们需要在 Mac 上使用 Xcode 编写并进行编译 首先,设置 Xcode 的开发者账号 打开 Xcode,左上角选择 Xcode - Preferences - Accounts...3-2 页面布局 打开项目根目录下的「 ContentView.swift 」文件, body 下编写具体的视图 首先,使用 VStack 定义一个垂直的布局盒子,并定义子控件水平居中展示 PS:SwiftUI...VStack(alignment: HorizontalAlignment.center){ ... } } } 然后,子元素依次添加一张本地图片、两个输入框...、一个选择框、一个按钮 其中, 图片控件 Image 文本输入框控件 TextField 选择框控件 Toggle 按钮控件 Button import SwiftUI import Combine

89740
  • Ionic 2 :如何实现列表滑动删除按钮1.创建Ionic2应用2.准备列表数据3.修改主页(HOME)的模版4.创建方法删除数据5.添加一个编辑按钮总结

    这篇教程将展示如何使用Ionic2添加一个简单的删除按钮到列表,当用户滑动列表项到左边的时候。这是一个处理删除列表数据时候常用的模式。本教程将涵盖创建这个滑动删除按钮所需要的一切。 ?...你可能已经注意到我们已经给这个组件定义了模版,随后将展示如何在模版中使用在这里添加的数据。...4.创建方法删除数据 现在我们去到 home.js 文件编写方法处理数据删除。当前但删除按钮被点击时传送一个数据项给 removeItem。...类似的,你可以非常容易的实现例如删除、编辑、分享、播放动画等你需要的东西,不仅是删除。...button danger (click)="removeItem(item)"> Delete 现在滑动时你有两个按钮

    3.9K100

    AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

    开始 首先看下主要内容: 了解如何为所有应用平台的默认和自定义视频播放器实现画中画,内容来自翻译。...现在您已经设置了所有内容,您可以您的应用程序中实现画中画。 ---- Implementing PiP 打开 AppDelegate.swift。...视频自定义控制器中播放。 但是……如果您点击画中画按钮,则什么也不会发生。 别担心,你现在会解决这个问题的。 打开 CustomPlayerViewController.swift。... CustomPlayerViewController.swift 中,滚动到标有 AVPictureInPictureDelegate 的扩展。代理方法都带有空实现,以节省您的输入时间!...也许您的用户正在同时观看两个视频,它们的效果如何! 2) 如果有一个展示的控制器,没有动画的情况下关闭它,因为用户希望尽快让他们的视频恢复正常并且对任何视图控制器动画不感兴趣。

    2.8K10

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

    本教程中,我们将学习如何检索模型并使用按钮的触发器将其呈现在场景中。一旦显示,我们将隐藏焦点方块。...为了能够正确添加我们的按钮,我们必须删除当前的 ARSCNView并首先从对象库添加UIView作为底层。接下来,选择相同的ARKit SceneKit View并将其放回UIView之上。...因为我们删除了旧的ARSCNView,所以它打破了这个Outlet。我们需要重新考虑新的。为此,请打开“ 助理”编辑器,该图标看起来像两个交织在一起的圆圈。现在,我们并排放置两个分屏,非常适合连接。...添加按钮 我们想在视图中添加一个按钮,用作在场景中添加模型的触发器。从对象库中,将UIButton拖动到场景视图的顶部。“ 属性”检查器中,删除按钮”标题并将图像设置为“ 按钮/添加”。...但是,如果我们屏幕上看不到任何内容呢?我们再次需要它来选择下一个位置。我们屏幕上看到的是不断变化的,所以我们需要在updateFocusSquare()中实现它。

    5.5K20

    如何结合 Core Data 和 SwiftUI

    设置核心数据需要两个步骤:创建所谓的持久性容器(从容器存储中加载并保存实际数据),然后将其注入 SwiftUI 环境中,以便我们所有的视图都可以访问它。 Xcode 模板已经为我们完成了这两个步骤。...接下来,单击 “Attributes”表正下方的+按钮以添加两个属性:“id”作为 UUID 和 “name” 作为字符串。...这次将其称为@FetchRequest,它带有两个参数:我们要查询的实体以及我们希望结果如何排序。...如果我们对 Core Data 说“这不是必须的”(您可以模型编辑器中完成),它仍然会生成可选的 Swift 属性,因为所有 Core Data 关心的是属性保存时具有值——在其他时间它们可以为 nil...我们无法代码中看到该类,因为它是构建项目时自动生成的,就像 Core ML 的模型一样。

    11.8K30

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

    本节中,我们将学习如何激活平面检测。我们将熟悉锚点以及如何使用它们将对象放置锚点上。此外,我们将能够现实生活中看到我们发现的飞机锚。从现在开始,我们将更多地投入到代码中。...那是因为我们已经同一个类中采用了ARSCNViewDelegate。ViewController.swift文件中,将其删除。...添加锚点 让我们回到ViewController + ARSCNViewDelegate.swift。现在,让我们从ARSCNViewDelegate实现一个新方法来查找表面。...let planeNode = SCNNode(geometry: plane) 到现在为止,您应该已经识别出材料和漫反射这两个词。你Scene Editor中看过它。...这是我们需要解决的两个问题。 好吧,还记得我们第一次拖动飞机作为屏幕时的手表场景吗?它的默认方向是垂直的。嗯,这里也是如此。所以我们需要将它旋转90度。但是,Swift将角度存储弧度中。

    2.9K30

    未来布局之星——ConstraintLayout

    Button控件约束 如将按钮下边圆圈拖至ConstraintLayout底部,则按钮移动至底部;再将按钮上边圆圈拖动至ConstraintLayout顶部,垂直方向上有两个约束的按钮控件就会实现垂直居中...如下图所示,调整按钮宽度后,将两个按钮的左右两边添加约束,然后将下方按钮的上边与上方按钮的下边添加约束,拖动下方的按钮,可设置两个按钮之间的外边距。 ?...删除约束 学习了添加约束后,来看看如何删除约束?删除约束有三种方式: 删除单个约束 将鼠标移动到要删除的约束对应的小圆圈,待小圆圈出现闪烁的红色圈圈时,点击小圆圈即可删除约束。...删除当且界面的所有约束 Guidelines 学完基本的依赖操作,来看一下ConstraintLayout的进阶用法。这里有一个需求,要求将两个控件合在一起,实现水平居中。...如下图,创建一个垂直方向的参考线,将其切换至百分比模式,拖动到50%的位置,再将两个控件左右两侧分别与Guidelines添加约束,然后两个控件的底边相互添加约束即可实现合并居中的效果。

    1.9K20

    初探 Core ML:学习建立一个图像识别 App

    Core ML Demo UI 接下来,拖曳两个按钮到 Navigation Bar 里头,一个放在标题左边一个放右边。...这两个按钮的用途是让使用者可以从相簿中选取相片或开启相机拍照。 最后我们还需要加入两个元件,分别是 UILabel 及 UIImageView。...override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } 接下来,你需要为两个按钮分别建立...回到 ViewController.swift,将 CoreML 引入: import CoreML 接着,为 Inceptionv3 宣告一个 model 变数并且 viewWillAppear()...所以,我们该如何让一张图像符合这样的尺寸呢?这就是我们接下来要做的。 图像转换 ViewController.swift 的 Extension 中,添加下述的代码。

    2.8K70

    架构之路 (五) —— VIPER架构模式(一)

    开始 首先看下主要内容: 本教程中,您将了解如何在SwiftUI和Combine中使用VIPER体系结构模式,同时构建一个允许用户创建公路旅行的iOS应用程序,来自翻译。...Data Sources组中,有用于保存或加载数据的辅助函数。 如果您喜欢WaypointModule组中查看前面的内容。它有一个Waypoint编辑屏幕的VIPER实现。...点击+按钮将向列表添加一个New Trip。 4. Deleting a Trip 创建旅行的用户可能还希望能够删除它们,以防出错或旅行结束。既然已经创建了数据路径,向屏幕添加额外的操作就很简单了。...这将从数据模型中的trips集合中删除项。...按照前面的例子,创建两个新的Swift文件:TripDetailPresenter.swift和TripDetailInteractor.swift,以及一个名为TripDetailView.swift

    17.5K10

    JavaEE开发之记事本完整案例(SpringBoot + iOS端)

    Swift3.0下的Perfect框架来实现的,本篇博客我们就用Spring Boot来做服务端,而iOS端我们不用改动。...列表的右上角有一个添加按钮,可以用来添加新的笔记。 列表页中,左滑单元格,会出现删除按钮,点击删除按钮,则对该篇笔记进行删除操作。具体运行效果如下所示。 ?...二、MyBatis的Mapper实现 关于Spring Boot中如何引入和配置MyBatis,在此就不做过多赘述了,你可以参见上篇博客。...UserMapper中主要给出了两个Select操作和一个Insert操作。...下方截图是INoteContentMapper具体实现,其中多了两个操作,一个是使用@Delete注解声明的删除操作,另一个是使用@Update注解声明的更新操作。

    1.2K50

    一个独立开发者总结的App 迭代设计思路

    很多用户从来不会滑动单元格(或点击“Edit”按钮),因此他们永远都不会找到删除按钮。自从Overcast 1.0发布,我收到了几百封电子邮件,问我如何不在播放的状态下删除剧集。...为了解决这些问题,我想到了一个两个阶段的方法:点击一个剧集选择它,显示各种操作按钮,点击中间新加入的播放按钮可以播放它。...快速:旧的页面中,你如何调整剧集的排列顺序,播放最新或最旧的剧集? iOS平台上没有这个的标准,所以我复制了一个桌面端和web端的三角形指示图标,点击可以使他调转方向。...一个全新、更快的手表应用,watchOS 3上发布。(之前的手表应用还只是watchOS 1上运行。) 并且我将一些代码改成了Swift!...(这也是这个APP的大小从7MB变成30MB的原因:由于Swift还很年轻,所有的Swift APP仍然是使用Swift库的自定义副本。)

    1.4K90

    ConstraintLayout_1:可视化拖拽布局

    不过目前有一个问题可能还比较头疼,刚才我们已经实现了让一个按钮居中对齐的功能,如果我们想让两个按钮共同居中对齐该怎么实现呢?...其实这个需求很常见,比如说应用的登录界面,都会有一个登录按钮和一个注册按钮,不管它们是水平居中也好还是垂直居中也好,但肯定都是两个按钮共同居中的。...image.png 然后我们希望让这两个按钮水平方向上居中显示,垂直方向上都距离底部64dp,那么就需要先添加一个垂直方向上的Guideline,如下图所示。...接下来我们开始实现两个按钮水平方向上居中显示,并距离底部64dp的功能,如下图所示。...然后给注册按钮的左边向Guideline添加约束,注册按钮的下面向登录按钮的下面添加约束。这样就实现了让两个按钮水平方向上居中显示,垂直方向上都距离底部64dp的功能了。

    1.4K20

    Apple 营收有望再创新高 | Swift 周报 issue 47

    有分析称,鉴于苹果将在 3 月份推出新款 ipad 和 mac 电脑,这可能有助于提高这两个业务部门未来一年的销量。...该提案两个方面推广了 AsyncSequence:通过采用类型化的 throws 实现了适当的 throws 多态性。...回溯支持包括两个部分:第一个是实际的回溯实现,第二个是 Swift 标准库中的新 API 界面。该提案涉及到后者。...当然,可能已经有一些方法可以通过属性包装器或其他方式 swift实现弱数组。 然而,要在 swift 中轻松完成此操作的语法可能需要在添加之前进行一些修改。...文章首先展示了如何使用 TabView 创建一个基本的 ornamen t,然后介绍了如何使用 SwiftUI 的 Toolbar API ornament 中添加操作控件。

    13632

    iOS版 使用ARKit和Swift创建交互式Domino游戏

    在下面的教程中,我将向您展示如何使用Swift和ARKit制作有趣的Domino游戏。 这就是我们要做的: ?...简单地说,平面检测是现实世界中找到任何水平(或垂直)平面。 首先,让我们创建一个空字典,以便我们可以保持对ARKit检测到的平面的引用。...我们可以使用arcTan公式获得两个多米诺骨牌之间的角度。此公式计算两个点相对于轴(本例中为X轴)之间的角度。...我们将在场景中添加两个按钮。一个按钮删除我们场景中的所有多米诺骨牌,另一个按钮将推翻第一个多米诺骨牌。 main.storyboard,创建一个按钮,并将其命名为“ 删除所有多米诺骨牌 ”。...如何在保持隐形的同时为地板添加阴影?自iOS 11以来,SceneKit已经添加了一个新策略来实现这一目标。

    2.3K30

    AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建

    你来这里是为了让这两个梦想成真。 在此过程中,您将学习 AVKit 和 AVFoundation 框架的基础知识。 本教程中,您将学习如何: 添加本地视频。 添加流媒体视频。 启用播放控件。...实现循环。 实现画中画。 下载好材料打开 TravelVlogs.xcodeproj 并转到 VideoFeedView.swift。 注意:视频可能无法模拟器中播放。...这就是应用程序如何用数据填充现有列表的方式。 视频本身来自嵌入应用程序包中的 JSON 文件。 如果您好奇,您可以查看 Video.swift 以了解它们是如何获取的。...这包括一个播放按钮、一个静音按钮和用于前进和后退的 15 秒跳过按钮。 2. Adding Remote Playback 那很容易,对吧? 如何从远程 URL 添加视频播放? 那一定要难很多!...您会在左上角看到画中画按钮……否则不会! 缺点是,撰写本文时,iOS 14.5是可用的最新版本,VideoPlayer 的 SwiftUI 视图未显示画中画按钮

    7K10

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

    如果用户喜欢该应用,那么他们可以以后购买更多内容或功能。 您可以免费应用程序中向用户显示广告,并可选择通过购买IAP删除它们。...如果您删除并重新安装该应用程序,“ 还原”按钮将恢复以前购买的任何RazeFaces。 前往Xcode快速查看代码。主视图控制器位于MasterViewController.swift中。...SKProductsRequest委托使用其他两个属性来执行对Apple服务器的请求。...接下来,仍然IAPHelper.swift中替换以下的实现requestProducts(_:): public func requestProducts(completionHandler: @escaping...您已经设置了事务观察器并实现了方法来处理上一步中的恢复事务。 要对此进行测试,请在上一步中完成购买后,从设备中删除该应用。再次构建并运行,然后点击右上角的“恢复”。

    5.5K20
    领券