UITextField——观察 selectedTextRange 的变化?

2024-01-14

有什么方法可以观察 UITextField 的 selectedTextRange 的变化吗?

我尝试观察所有 UIControlEvents。但更改 selectedTextRange 不会触发 UIControlEvent。

另一个死胡同——UIKit 类不兼容 KVO。

然后是 UITextField TextDidChangeNotification。但这是针对文本的更改。

有任何想法吗?


子类UITextField如下。

@interface WJTextField : UITextField
@end

@protocol WJTextFieldDelegate <UITextFieldDelegate>
- (void) textFieldDidChangeSelection: (UITextField *) textField;
@end

执行:

@implementation WJTextField

- (void) setSelectedTextRange: (UITextRange *) selectedTextRange
{
    [super setSelectedTextRange: selectedTextRange];
    if ([self.delegate respondsToSelector: @selector(textFieldDidChangeSelection:)])
        [(id <WJTextFieldDelegate>) self.delegate textFieldDidChangeSelection: self];
}

@end

然后加-textFieldDidChangeSelection:到您的文本字段的委托。

Caveat:仅当光标移动时才会发送该委托消息,not对于您必须实现的事件,在键入或粘贴文本时发送textField:shouldChangeCharactersInRange:replacementString:,其中选择范围将设置为range.location + [string length](如果你返回YES)或保持不变(如果您返回NO).

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

UITextField——观察 selectedTextRange 的变化? 的相关文章

  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • 沙盒尝试恢复消耗性 IAP

    我一直在尝试在 iOS 上测试一些消耗性 IAP 但遇到了一个奇怪的错误 弹出一条警报 其中包含以下文本 此应用内购买已被购买 它将恢复为 自由的 环境 沙盒 我已经检查过 并且确定我的 IAP 可以在 iTunesConnect 中使用
  • 如何将 LC_LOAD_DYLIB 命令插入 Mach-O 二进制文件或将静态库加入现有二进制文件 (IOS)

    这是我第一次在 stackoverflow 上提问 我很绝望 我的任务是加载 dylib 或将静态库加入到 IOS 设备的现有可执行文件中 我将使用static void attribute constructor initialize v
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • 在 iOS 上使用 Web 服务的最佳方式?

    我想构建一个 iOS 应用程序 让您登录到网络服务 之后 应用程序将 当用户选择时 通过 https 发送登录名 密码以及请求的变量 例如 在请求 新闻更新 后 它将收到 XML 格式的请求信息 类似于
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • 适用于 IOS 和 Android 的支付网关 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个应用程序 用户必须在澳大利亚餐馆通过应用程序 android ios 付款 有两种付款方式 通过 PayPal 或 Visa
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • 从 iOS 应用程序内的 Junos Pulse 获取用户凭据

    我正在通过 Junos Pulse 在 iPad 中建立 VPN 连接 以进入我组织的 Intranet 谁能告诉我是否有任何 iOS api 或 SDK 可用于获取在 iOS 应用程序内的 Junos pulse 中输入的用户凭据 Jun
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 错误域=AVFoundationErrorDomain代码=-11814“无法记录”

    它不断给我错误 错误域 AVFoundationErrorDomain代码 11814 无法记录 我不确定问题是什么 我试图在拍照后计数器达到 1 时录制声音 static int counter counter will always b
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 当强制退出/向上滑动以终止 iOS 应用程序而不点击横幅/警报时,如何获取推送通知有效负载?

    我正在构建一个应用程序来处理从 Parse 推送的通知 并尝试创建通知历史记录功能 我已经成功启用了后台模式 因此当应用程序在后台运行时 应用程序可以通过以下方式很好地获取有效负载application didReceiveRemoteNo
  • 频繁绘制 CGPath 时的性能

    我正在开发一个将数据可视化为折线图的 iOS 应用程序 该图被绘制为CGPath在全屏自定义中UIView最多包含 320 个数据点 数据经常更新 图表需要相应地重新绘制 刷新率为 10 秒就很好了 到目前为止很容易 然而 我的方法似乎需要
  • 指定访问组时出现 KeychainItemWrapper 错误

    相当长一段时间以来 我一直在使用 KeychainItemWrapper 的 ARC 版本成功读取和写入私有钥匙串项目 我现在正在努力将我的 iOS 应用程序转换为使用共享访问组 以便我的 2 个共享相同应用程序前缀的应用程序可以访问钥匙串
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的

随机推荐

  • 在ansible中使用json_query组合属性值

    我想使用 ansible 中的 json query 将两个属性组合成由分隔符分隔的单个字符串样本数据 locations name Seattle state WA name New York state NY name Bellevue
  • 如何将“long long”(或 __int64)转换为 __m64

    转换的正确方法是什么 int64值对 m64与 SSE 一起使用的价值 有了gcc你就可以使用 mm set pi64x include
  • 这是真正的长轮询吗?

    经过多次试验 我成功地能够保持与数据库的连续服务器连接 现在代码继续检查并显示消息 如果数据库中有新消息 请审查并告知 这段代码中是否使用了真正的长轮询技术 如果不是 那么请提出建议 我错在哪里 偏离长轮询 以及如何使其成为真正的长轮询 目
  • 根据所选付款方式显示隐藏自定义 Woocommerce 结账字段

    您好 我使用下面的代码在计费表单中添加了自定义字段 add filter woocommerce billing fields custom woocommerce billing fields function custom woocom
  • 用 XML 描述的 Java GUI

    我的公司目前正在评估 Java FAT 客户端的开发 它应该支持动态 GUI 并在服务器端具有尽可能多的逻辑 因此 我们想到了将屏幕作为 XML 发送到 FAT 客户端 将其显示给用户 并将输入的类似于 html 表单 的数据以如下结构发送
  • ICSharpCode.TextEditor 垂直滚动

    是否可以在 ICSharpCode TextEditor 中配置垂直滚动 以便默认情况下没有垂直滚动条可见 并且仅当有人键入大量行 超出此控件的当前高度 时 才会自动出现垂直滚动条 如果是 怎么办 自己添加功能很容易 1 进入命名空间ICS
  • TensorFlow `conv2d transpose()` 操作有什么作用?

    的文档conv2d transpose 操作没有清楚地解释它的作用 conv2d 的转置 此操作有时称为 反卷积 反卷积网络 http www matthewzeiler com pubs cvpr2010 cvpr2010 pdf 但实际
  • WinRT - 加载数据,同时保持 UI 响应

    我正在开发一个 Windows Metro 应用程序 但遇到了 UI 无响应的问题 据我所知 原因如下
  • 如何更改 Rterm.exe 上的行长度

    我在用R 2 15 2 on windows XP 我以前用过Rgui exe但它缺乏我喜欢使用的 UNIX 标准CTRL R lt gt backward research and CTRL U lt gt erase line 如果我错
  • 添加图层时,Mapbox 样式在缩放时发生变化/中断

    我有一个 mapbox 地图 使用 Outdoor v9 样式初始化 尝试了其他样式 相同的行为 当我向地图添加图层 标记或 geojson 源并缩放地图时 样式会发生变化或中断 我不确定是哪一个 This is the map befor
  • 如何将项目插入到列表框中的字母顺序位置?

    我开发了一个网页 其中显示从数据库获取的列表框项目 我动态地向其中添加了一些项目 它添加到列表框的末尾 因此我想在添加项目后对列表框项目进行排序 我试过Arraylist用于排序 但它不起作用 我正在寻找一种不需要比较器类 ArrayLis
  • PHP 地址的纬度经度

    我的网站上有一个表单 用户可以在其中输入某个地点的地址 当他们提交表单时 我将此位置转换为纬度 经度并将其存储在 MySQL 数据库中 我正在使用 Google 的地理编码服务进行此转换 问题是我找不到类或服务来将该纬度 经度转换回地址 据
  • 仅将图像作为 UITabBarItem

    我只想有一个图标作为 UITabBarItem 而不是下面的文本 我想知道这是否可能 如果可以 如何实现 TIA 删除标题 与检查员的简单方法 选择您的 TabbarItem In 职衔 职位更改为自定义偏移 将垂直设置为 100 Done
  • 如何在haskell中编写递归函数

    我如何在 Haskell 中编写一个函数 它接受一个列表和一个数字 然后删除所有大于该数字的元素并返回列表 删除 5 4 3 9 1 5 应返回 5 4 3 1 我编写了以下方法 当它达到大于给定数字时 该方法会变成无限循环 我要退出 5
  • Android 在 vi​​ewpager 中单击转到第一个片段后返回到同一片段

    我开发了一个应用程序 其中我使用片段查看寻呼机 我使用片段类将一个页面移动到另一个页面 在第二个片段类中 我有一个按钮返回 我编写编码以通过片段直接移动到第一个片段 替换 但替换第一个片段后 我不会将寻呼机页面滚动到另一个片段 这意味着当我
  • 获取未捕获的参考错误:Button1_Click 未定义

    假设我这里有一个aspx代码
  • 如何保存/重定向 Laravel 5 Artisan 命令的输出?

    我已经尝试过该方法此处描述 https stackoverflow com questions 20111287 how to save redirect output from laravel artisan command但这不适用于我
  • 在 GridLayout 中对齐按钮

    我的布局代码及其图形表示是 这只是一个例子 我有大约30个Buttons在我的应用程序中GridLayout 我想要我的Buttons填充网格中的整个单元格 并且网格的列应该具有均匀的宽度 高度 我似乎无法完成它 欢迎任何帮助 我没用过Gr
  • Flask,无法分配请求的地址[重复]

    这个问题在这里已经有答案了 我正在尝试在远程服务器上运行烧瓶应用程序 以便我可以从其他计算机访问它 服务器有一个公共 IP 我将 Flask 配置为在该 IP 上运行 但是当我运行脚本时 我得到以下回溯 注意 我已从回溯和代码中删除了公共
  • UITextField——观察 selectedTextRange 的变化?

    有什么方法可以观察 UITextField 的 selectedTextRange 的变化吗 我尝试观察所有 UIControlEvents 但更改 selectedTextRange 不会触发 UIControlEvent 另一个死胡同