如何在 Swift 中为 UIView 子类编写自定义 init?

2024-02-07

说我想要init a UIView子类具有String and an Int.

如果我只是子类化,我该如何在 Swift 中做到这一点UIView?如果我只是定制init()函数,但参数是一个 String 和一个 Int,它告诉我“在从初始化器返回之前不会调用 super.init()”。

如果我打电话super.init()我被告知我必须使用指定的初始化程序。我应该在那里使用什么?框架版?编码器版本?两个都?为什么?


The init(frame:)version 是默认的初始值设定项。您必须仅在初始化实例变量后调用它。如果此视图是从 Nib 重建的,那么您的自定义初始值设定项将不会被调用,而是调用init?(coder:)版本将被调用。由于 Swift 现在需要实现所需的init?(coder:),我更新了下面的示例并更改了let变量声明到var和可选的。在这种情况下,您可以在中初始化它们awakeFromNib()或者在稍后的某个时间。

class TestView : UIView {
    var s: String?
    var i: Int?
    init(s: String, i: Int) {
        self.s = s
        self.i = i
        super.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Swift 中为 UIView 子类编写自定义 init? 的相关文章

  • Android - API 请求

    我开发了一个应用程序 它也在 iPhone 上 问题出在 api 请求上 我为所有请求设置了超时 有时会出现 30 60 秒的中断 看起来这个应用程序执行了几个请求 然后就中断了 一直超时 大约 45 秒后一切正常 不知道是服务器问题还是安
  • 仅在 iPhone X 上显示状态栏

    如果不是 iPhone X 则希望隐藏状态栏 如果是 iPhone X 则希望显示状态栏 这很可能必须以编程方式完成 因为 plist 中没有支持此功能的键 我发现的最接近的一个是UIStatusBarHidden 方法一 You have
  • 如何从日期中获取小时、分钟和上午/下午? [复制]

    这个问题在这里已经有答案了 我尝试从日期中提取小时 分钟和上午 下午 但我得到 NULL 输出 我在下面显示了我的代码 请查看 NSString dateStr 29 07 2013 02 00am NSDateFormatter form
  • iPad 横向触摸开始变得混乱

    我的应用程序仅允许在横向方向上使用 并且它以横向方式启动 因此 iPad 横向时左上角为 0 0 因此一切正常 但是 当我拿起 touchesBegan 时 它无法正常工作 只有当我点击 iPad 的右侧三分之二时 它才会接收到触摸 我知道
  • malloc:***错误:已释放对象的校验和不正确 - 对象可能在释放后被修改

    我的 iOS 应用程序有一个大问题 它有时会崩溃 而没有详细的调试错误 堆栈跟踪为空 这是堆栈跟踪中仅有的两行 UIApplicationMain 中的 符号存根 UIHostedTextServiceSession DismissText
  • 使用 UIKeyCommand 检测删除键

    任何人都知道如何使用检测 删除 键UIKeyCommand在 iOS 7 上 当人们在使用 Swift 时遇到问题时 我认为用 Objective C 和 Swift 编写一个小型的 完整的例子可能是一个很好的答案 请注意 Swift 没有
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • 如何在 Swift Playgrounds 中获得弹出对话框

    我想知道如何在 Swift 中弹出一个对话框游乐场 是的 必须在 Playgrounds 中 我尝试了以下代码 直接来自 AppleDevs 站点 然而 无论我如何尝试 self tag always抛出错误 谁能帮我这个 import U
  • UICollectionReusableView 方法未被调用

    我希望我的部分位于UICollectionView有一个带有图像的标题 我已按照以下步骤操作 在故事板中 分配了一个标题作为我的附件UICollectionView 给它一个标识符 创建了一个子类UICollectionReusableVi
  • iOS NSURLSession,如何在didCompleteWithError中重试

    我想在我的服务器上尝试一次调用 直到成功为止 我想每 30 秒尝试一次 所以我使用 NSURLSession 进行通话 NSURLSessionDownloadTask task self session downloadTaskWithR
  • ios 11 - UIBarButtonItem 内的 UIButton 导致自动布局错误

    我在将 UIButton 添加到 UIBarButtonItem 时遇到了一个已知问题 我尝试按照建议添加自动布局约束堆栈溢出 https stackoverflow com a 46336639 505603但我收到如下所述的错误 UIB
  • 如何获取 UITableView 中的所有单元格

    假设我有一个包含多行的 UITableView 我想在某个时间点将所有 UITableViewCells 作为 NSArray 获取 我努力了 tableView visibleCells 但这种方法有一个问题 我无法拥有当前不在当前屏幕中
  • 如何以编程方式使用资产目录图像的切片信息?

    我的项目中曾经有一个图像 我会像这样加载它 UIImage image UIImage imageNamed image name resizableImageWithCapInsets UIEdgeInsetsMake 10 0f 10
  • 所有针对 iTunes Connect 的构建,导入此构建时出错 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我将构建上传到应用程序商店 之后它在活动中显示错误 任何人都可以帮帮我 SOLVED 转到构建设置 gt 搜索 bitcode gt 转启
  • 如何从 Firebase 同步检索数据?

    我有两个集合 即用户和问题 根据使用 userId 登录的用户 我检索currQuestion价值来自users收藏 基于currQuestion值 我需要检索question来自 Firebase 的文档Questions收藏 我使用下面
  • CustomNSError 协议有什么作用以及为什么我应该采用它?

    什么是CustomNSError协议的用途以及为什么我应该采用它 Apple提供的文档仅指出 描述错误类型 具体提供域 代码和 用户信息字典 我已经在谷歌上搜索过 但找不到与我的问题相关的任何内容 每种类型都符合Error协议是隐含地桥接的
  • 如何在 Swift 中创建 UIAlertView?

    我一直在努力在 Swift 中创建 UIAlertView 但由于某种原因我无法得到正确的语句 因为我收到此错误 找不到接受提供的 init 重载 论点 我是这样写的 let button2Alert UIAlertView UIAlert
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实
  • Swift 中的 viewWillLayoutSubviews

    我正在尝试翻译SKScene scene GameScene sceneWithSize skView bounds size 进入 swift 但我收到错误 sceneWithSize 不可用 使用对象构造 SKScene size 我在

随机推荐

  • 找不到 momd 文件:核心数据问题

    噢天啊 我搞砸了一些事情 我是一名 Core Data 菜鸟 正在开发我的第一个 iOS 应用程序 经过多次堆栈溢出后 我正在使用以下代码 NSString path NSBundle mainBundle pathForResource
  • Go 如何处理 Google App Engine 上的并发请求

    我对 Go 如何处理 Google App Engine 上的并发请求有点困惑 所以我希望有人能提供一些澄清 以下是我收集到的事实 Go 在 App Engine 上是单线程的 这是因为可以通过使用多个线程创建竞争条件来执行任意指针算术 h
  • 离子降低滚动速度

    我在尝试从此代码减慢滚动速度时遇到问题 ionicScrollDelegate getByHandle credit scrollBottom true 我怎样才能减慢滚动速度 因为现在它对我来说滚动得太快了 我需要放慢滚动速度 就像星球大
  • Python - 安装有扩展的远程 Webdriver

    我想使用以下命令在不同浏览器版本上测试一个扩展浏览器堆栈 http browserstack com 这是一个返回具有指定功能的驱动程序的函数 我有一个 crx file对于 Chrome 和 xpi file对于我本地计算机上的 Fire
  • 在屏幕上查找复合位置

    我正在 Java 中为 SWT 和 AWT 实现一个屏幕键盘 一件重要的事情是将键盘移动到可以显示所选文本字段的位置 并且不要位于屏幕键盘后面 对于 AWT 我可以检测当前选定组件的位置 Component owner KeyboardFo
  • 对有效的类型规则感到困惑

    我似乎再次错过了有关有效类型的一些难题 代码中的注释本质上是我的问题 但这是我能想到在适当的上下文中提出这个问题的唯一方法 include
  • 如何使用facet_grid或facet_wrap保持条的均匀厚度并切换条位置?

    我想用水平条形图显示数据并通过分组变量对其进行分面 因为我想要一个带有分面的水平图 所以我将使用geom barh来自ggstance包裹 我有一个数据集 其中我的观察结果被分为几种不同的类型和计数 像这样的事情 library tidyv
  • 导致Python的argparse执行默认操作

    我正在使用 argparse 的操作将各种数据添加到类中 如果命令行未提供该参数 我想对默认值使用该操作 这可能吗 谢谢 argparse不使用action当应用default 它只是使用setattr 它可能会使用type如果默认是字符串
  • 在PHP中按权重生成随机结果?

    我知道如何在 PHP 中生成随机数 但假设我想要一个 1 10 之间的随机数 但我想要更多的 3 4 5 然后是 8 9 10 这怎么可能 我会发布我尝试过的内容 但老实说 我什至不知道从哪里开始 基于 Allin 的answer http
  • 如何为子文档创建 mongoDb 模式

    我有如下文件 这里peoples包含指向用户集合的 ObjectId 数组 和contribution字段包含的子文档数量为peoples场地 长度是可变的 就像某个组有 2 个 ObjectId 一样people then contrib
  • 如何使 Plotly 图形动画工作

    你好 我正在尝试使用 Plotly v4 6 一切正常 我可以看到所有图表 除非我尝试从网站复制动画图表 import plotly express as px df px data gapminder px scatter df x gd
  • 如何将 wand.image.Image 转换为 PIL.Image?

    我花了一整天的时间来解决这个问题 但在堆栈溢出中没有看到答案 我尝试过这个但没有成功 gt gt pil image Image frombytes RGBA wand image size wand image make blob for
  • 无法解析:com.google.android:flexbox:1.1.0

    所以我正在尝试同步 android studio 项目 但 flexbox 始终无法解决 据我所知 所有相关的存储库都包含在内 我尝试了多个互联网连接 不涉及代理 但无济于事 我也尝试过不同版本的 Flexbox 这是我的应用程序 buil
  • 错误:PlatformNotSupportedException:不支持配置文件或 .NET Core 6 如何使用 SOAP .NET Framework wcf

    我有 Dot Net Framework 3 5 Web 服务 http www dneonline com calculator asmx http www dneonline com calculator asmx我想在 dot Net
  • 尝试从客户端访问 Node/Express 端点时出现 404 Not Found

    我有一个 Node js Express REST API 可供前端 React 应用程序访问 用于库存管理系统 用于车库销售 当尝试添加新产品时 我尝试访问 POST 路由http localhost 3001 api new 然而 当我
  • Symfony2:没有会话/控制器的区域设置切换器实现[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 所以 3 5小时后似乎一切正常 两页
  • .dialog("close") 和 .dialog("destroy") 之间的区别

    有什么区别 dialog close and dialog destroy 在 jquery ui 中 我有一个以前的开发人员使用过的脚本 dialog destroy 但现在我必须在对话框关闭后执行一些操作 我找到了beforeclose
  • 我可以使用 Magento 的缓存层作为键/值存储吗?

    我可以使用 Magento 的缓存层作为类似于 memcached 或 apc 的键 值存储吗 很高兴能够不用担心正在使用什么缓存引擎并且仍然缓存一些代码 进一步说明 我希望 Magento 在我对其进行一些 JOINS 操作后缓存我的 C
  • 迁移错误:Gem:Module 的未定义方法“缓存”

    通过 Rails 应用程序迁移时出现此错误 Gem Module 的未定义方法 cache Am using 轨道 3 2 9 红宝石 1 8 7 乌班图12 04 rake db migrate trace home rajendran
  • 如何在 Swift 中为 UIView 子类编写自定义 init?

    说我想要init a UIView子类具有String and an Int 如果我只是子类化 我该如何在 Swift 中做到这一点UIView 如果我只是定制init 函数 但参数是一个 String 和一个 Int 它告诉我 在从初始化