shouldChangeCharactersInRange 在 Swift 中如何工作?

2024-04-30

我在用着应该改变范围内的字符作为使用即时类型搜索的一种方式。

然而我有一个问题,应该改变范围内的字符在文本字段实际更新之前被调用:

在 Objective C 中,我使用以下方法解决了这个问题:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string];

    return YES;
}

不过,我尝试用 Swift 编写:

func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
    let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString
    txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string)

    self.callMyMethod(txtAfterUpdate)
    return true
}

在我获取值之前该方法仍然被调用吗?


斯威夫特 4、斯威夫特 5

这个方法不使用NSString

// MARK: - UITextFieldDelegate

extension MyViewController: UITextFieldDelegate {
    func textField(_ textField: UITextField,
                   shouldChangeCharactersIn range: NSRange,
                   replacementString string: String) -> Bool {
        if let text = textField.text,
           let textRange = Range(range, in: text) {
           let updatedText = text.replacingCharacters(in: textRange,
                                                       with: string)
           myvalidator(text: updatedText)
        }
        return true
    }
}

笔记。使用安全文本字段时要小心。

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

shouldChangeCharactersInRange 在 Swift 中如何工作? 的相关文章

  • 启动深色或浅色模式的图像

    如何为深色模式和浅色模式选 择一组不同的启动图像 我有一个 LaunchImages 集 当应用程序启动时 会显示一个图像 对于浅色模式 这似乎不错 但是如果我尝试在设置为深色模式 iOS 13 的设备上打开我的应用程序 则该图像看起来很糟
  • 如何确定 NSTimeInterval 是否发生在任意 NSDate 期间?

    我有一个 NSTimeInterval 我想知道该时间戳是否位于日期的开始和结束之间 基本上我需要能够做类似的事情 NSDate today NSDate date NSTimeInterval myInterval someInterva
  • 在 iOS 中使用 FB SDK 是否需要 Facebook 的成功审核?

    现在我需要使用Facebook SDK来自我的 iOS 应用程序中的 Facebook 所以我填写了有关我的应用程序的信息developer facebook com应用程序详细信息 但是 当我用我的设备测试我的应用程序时 我可以发布到 F
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • 如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

    如何将 Objective C 中的当前位置按钮移至我的偏好 现在 我已启用它 但底角有东西挡住了它 Thanks 您可以使用 padding 将按钮向上移动 self mapView padding UIEdgeInsets top 0
  • 如何为 NSAttributedString 内的文本设置“隐藏”属性?

    我有一个 Cocoa 应用程序NSTextView控件将其文本保存在NSAttributedString 实际上我相信这是一个NSMutableAttributedString 我可以轻松地在该字符串内的不同字符范围上设置和修改不同的文本属
  • 添加/删除带有动画的 UITableViewCell?

    我知道这听起来像是一个愚蠢的问题 但我到处都看过 我怎样才能做到这一点 我知道如何使用 swype to delete 方法来执行此操作 但是我如何在该函数之外执行此操作 请发布一些代码示例 Thanks Coulton self tabl
  • 为 iOS 应用程序加载基于 SVG 的图像资源

    我从 thenounproject 购买了一个图标作为 SVG 图像 然后我使用一个名为的 macOS 程序Gapplin http gapplin wolfrosch com 将此 SVG 导出为 PNG 图像 它显示为 100x100
  • 查找已用应用程序名称的捆绑包/开发人员

    我正在尝试将应用程序上传到应用程序商店并收到以下错误 很容易理解 The App Name you have entered has already been used 该应用程序不在 iTunes 上 有什么方法可以找出谁拥有该应用程序或
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • Swift 中的柯里函数

    我想创建一个返回柯里函数的函数 如下所示 func addTwoNumbers a Int b Int gt Int return a b addTwoNumbers 4 b 6 Result 10 var add4 addTwoNumbe
  • 沙盒尝试恢复消耗性 IAP

    我一直在尝试在 iOS 上测试一些消耗性 IAP 但遇到了一个奇怪的错误 弹出一条警报 其中包含以下文本 此应用内购买已被购买 它将恢复为 自由的 环境 沙盒 我已经检查过 并且确定我的 IAP 可以在 iTunesConnect 中使用
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 如何将 LC_LOAD_DYLIB 命令插入 Mach-O 二进制文件或将静态库加入现有二进制文件 (IOS)

    这是我第一次在 stackoverflow 上提问 我很绝望 我的任务是加载 dylib 或将静态库加入到 IOS 设备的现有可执行文件中 我将使用static void attribute constructor initialize v
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • 高效创建 x 层深度的嵌套 for 循环

    这可能是一件简单的事情 但我需要创建一个循环结构 使其循环 y x 次以创建 x 和 y 的所有可能组合 例如 如果有 4 个 x 每个 x 有 2 个 y 我想做这样的事情 for int a 0 a lt y a for int b 0
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 与 -webkit-filter 战斗:模糊而不是实心边缘(与过滤器一起使用:模糊)

    我写了这支笔 http codepen io anon pen ByZPxw EDIT 请参阅 Alexander Omara 的这支钢笔 了解我的钢笔的较短版本 http codepen io anon pen rawrog 基本上我们设
  • 将 Java 8 Lambda 函数转换为 Java 7

    嘿 我是编码新手 我已经掌握了 Java 8 的 Lambda 函数 但我正在尝试将我为学校项目编写的一些代码转换为 Java 7 但我无法理解关于如何使这段代码在功能上相同 但在 java 7 中 很抱歉 如果这是一个愚蠢的问题 但我似乎
  • 如何使用Python内置的map和reduce函数计算字符串中的字母频率

    我想使用Python的map和reduce内置函数来计算字符串中字母的频率 谁能提供一些关于我如何做到这一点的见解 到目前为止我所得到的 s the quick brown fox jumped over the lazy dog Map
  • CSS 列,从上到下然后从左到右

    我正在为应用程序构建报纸风格的布局 我的页面分为 8 列 各列应先垂直填充 然后水平填充 如果没有足够的内容来填充页面 则列仍应首先垂直填充 在页面右侧留下空白 目前 它们首先水平填充 在内容下方留下空白 我已经尝试过使用 CSS 列 但它
  • 如何使用 ActiveRecord 获取查询结果中的行和列?

    有没有办法使用 ActiveRecord 执行自定义 SQL 查询并让它返回一个数组数组 其中第一行是列名称 后面的每一行是行数据 我想执行类似的事情 connection select rows with headers SELECT i
  • Edge 中的 Javascript 仅适用于打开的 devtools

    我遇到的问题是 在 MS Edge 中 我的图像映射功能只能部分工作 它由淘汰赛 FW 提供动力 在更大的图像映射上 它不会将整个图像映射注册到视图模型中 因此 图像映射的所有悬停效果和单击样式都会停止工作 然而 这只是大图像地图的问题 还
  • 上传太大文件时显示有意义的错误

    我们对网站上上传的文件大小设置了固定限制 低于默认的 asp net 和 iis 设置的大小 我在 Application BeginRequest 中有一个简单的 catch 设置来捕获这个 它不是 excat 因为它检查 Content
  • Java applet - 以 png 格式保存图像

    我正在创建一个用于制作头像的简单小程序 您可以选择脸部 头发 眼睛等 然后将其作为 png 文件保存到光盘上 简单版本 为了简单起见 没有界面 如下所示 import java awt import java applet import j
  • 使用 Rijndael 加密/解密文件

    我需要传输 xml 文件 并且需要对它们进行加密 我发现一些例子认为我已经接近了 但是当我解密文件时 我最终得到了尾随垃圾字符 有一些关于此的帖子 但我还没有看到任何能真正有帮助的帖子 这是加密和解密代码 private void Encr
  • 检查窗口是否已经打开 window.open

    我有一个 html 页面 在我调用的页面正文中onload调用 javascript 函数打开弹出窗口的事件 这是代码 var newWindow null function launchApplication if newWindow n
  • 如何在matlab中绘制彩色一维直方图

    我有一个一维数组 X 其中包含相关系数的统计数据 我想绘制一个彩色直方图 我使用以下代码 histogram X 10 它可以创建具有单色的直方图 现在我想绘制一个直方图 其中每个条形都有不同的颜色 但 FaceColor 选项只能调整整个
  • 使用线程和 ruby​​ mechanize 安全吗?

    有没有人见过很多这样的错误 Exception Net HTTPBadResponse at usr lib ruby 1 8 net http rb 2022 wrong status line SOME HTML CODE HERE 何
  • 为什么需要在父子组件中多次导入React?

    如果您有已导入的父组件文件React 为什么它的任何渲染的子文件也需要导入 React 这是否只是一种安全措施 以防这些子项被渲染到尚未导入 React 的其他地方 In nodejs每个文件都是一个模块 有自己的变量范围 当您将变量导入文
  • 如何通过服务帐户使用 Terraform `google_app_engine_domain_mapping`?

    我正在尝试使用以下配置通过 Terraform 创建 GCP App Engine 域映射 provider google version 3 36 0 region var region resource google app engin
  • 当我停止我的应用程序后,IntentService 将被终止

    我指的是android 设计注意事项 AsyncTask 与 Service IntentService https stackoverflow com questions 3817272 android design considerat
  • 如何防止双击时选择 HTML5 画布外部的文本?

    在我尝试过的每个浏览器中 双击 HTML5 画布会选择紧跟在画布元素后面的任何文本 我更愿意将点击次数限制在画布上 注意 我不想完全禁用文本选择 例如 像this https stackoverflow com questions 8805
  • Python套接字模块:Recv()数据响应被切断

    解释 我目前正在尝试使用 python 脚本控制智能电源板 为了实现这一点 我使用了带有套接字模块的 TCP 连接 大约 75 的情况下 我会得到我正在寻找的响应 数据 并且一切都运行良好 然而 大约 25 的情况下 响应会以完全相同的长度
  • 在 DB2 中使用什么来表示 CURRENT_TIMESTAMP?

    我正在将一些 MySQL 语句转换为 DB2 数据库 但我在以下查询中遇到了问题 CREATE TABLE RFX EVENT MAPPING EVENT TYPE varchar 4 NOT NULL EVENT DESC varchar
  • 在 JavaScript 中的空数组上使用 foreach 循环[重复]

    这个问题在这里已经有答案了 我发现我不能在 javascript 中的空数组上使用 for every 循环 谁能向我解释这是为什么 我已经在 javascript 中初始化了一个数组 如下所示 var arr new Array 10 当
  • shouldChangeCharactersInRange 在 Swift 中如何工作?

    我在用着应该改变范围内的字符作为使用即时类型搜索的一种方式 然而我有一个问题 应该改变范围内的字符在文本字段实际更新之前被调用 在 Objective C 中 我使用以下方法解决了这个问题 BOOL textField UITextFiel