检测被点击的字符。 UITextView characterRangeAtPoint 总是返回 nil

2023-11-21

我正在尝试确定其中的哪个特定角色UITextView已被窃听。我尝试使用characterRangeAtPoint:方法。但它总是返回零,无论在哪里UITextView我点击。 我什至编写并运行了以下代码:

for (int x = 0; x<1000; x++) {
    pos.x = x;
    for (int y = 0; y<1000; y++) {
        pos.y = y;
        UITextRange * range = [textView characterRangeAtPoint:pos];
        if (range!=nil) {
            NSLog(@"x: %f, y: %f", pos.x, pos.y);
        }
    }
}

好吧,它永远不会达到NSLog细绳。 我究竟做错了什么?


这是 iOS 7 的一个错误。characterRangeAtPoint:总是返回nil,除非某些文本已预先选择至少一次。

作为解决方法,您可以调用setSelectedRange: or setSelectedTextRange:事先,但随后textView会突出显示您的选择。我想出了以下解决方案:

[textView select:textView];
[textView setSelectedTextRange:nil];

调用这两个方法后,characterRangeAtPoint:将按预期开始工作。

请注意,您只需要在之后调用一次即可textView已初始化。

EDIT:我的答案是编辑自“除非事先选择了某些文本” to “除非当前选择了某些文本”。这是错误的:当前不需要选择文本,只需选择一次。所有后续调用setSelectedRange:正如我的笔记中所述,然后就会成功。为了进一步清晰起见,进行了编辑。

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

检测被点击的字符。 UITextView characterRangeAtPoint 总是返回 nil 的相关文章

  • 如何将 NSMutableArray 添加到 NSMutableArray Objective-c

    我正在从 Java 切换到 Objective c 但遇到了一些困难 我已经搜索过这个问题但没有取得太大成功 我有一个存储 NSMutableArrays 的 NSMutableArray 如何向数组添加数组 您可以在数组中存储对另一个数组
  • Swift:Tableview 在导航栏下方滚动但在状态栏上方滚动?

    我使用以下技巧隐藏了导航栏的阴影 self navigationController navigationBar setBackgroundImage UIImage for default self navigationControlle
  • iPhone 的翻译器?

    我对为 iPhone 制作一个解释器很感兴趣 这将是一个实验性的想法 但可能会很棒 我喜欢让我自 己的语言适合移动计算和数学的想法 我查阅了很多资料 发现有关 iPhone 上的口译员的信息很复杂 苹果会允许什么 我见过这个应用程序 这是一
  • 加速度计适用于 iphone/ipad 模拟器吗?

    据我所知 当我在 XCode 中使用 iPad 模拟器时 我的应用程序应该会触发加速计事件 但事实并非如此 我用谷歌搜索了一下 似乎加速度计没有在模拟器中实现 这是正确的吗 如果是这样 为什么他们会有 硬件 gt 摇动手势 菜单选项 我的代
  • UIAlertView 每次调用都会弹出三次,而不是一次

    我在程序的两个不同部分中从 NSAlert 中得到了奇怪的行为 行为是 出现警报 然后自发地消失 警报重新出现 然后一直保留 直到用户解除 即正常行为 警报再次出现 此行为仅在第一次调用显示警报的方法时发生 第一次之后 它的行为就正常了 以
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • 自定义 UINavigationController UINavigationBar

    基本上我想要一个定制UINavigationBar 我不希望它是 半透明 或任何东西 就像图片应用程序一样 我基本上想完全删除它 但我仍然希望能够在按下导航控制器时添加后退按钮等 并且我想要视图 例如 UITableViewControll
  • 检测 iPhone 屏幕是否打开/关闭

    有没有办法检测 iPhone 的屏幕是打开还是关闭 例如 当按下手机的屏幕锁定按钮时 我一直在使用 void applicationWillResignActive UIApplication application 为此类事件做准备 在大
  • 按升序对 NSDictionary 进行排序

    我正在尝试排序NSDictionary按升序排列 我正在使用这段代码 NSDictionary valDict self mGetDataDict key rowKey for NSString valueKey in valDict al
  • 广告标识符和标识符ForVendor返回“00000000-0000-0000-0000-000000000000”

    我已经实现了这个方法来获得advertisingIdentifier and identifierForVendor NSString advertisingIdentifier if NSClassFromString ASIdentif
  • iOS 有 INTERNET 权限吗?

    我在 iOS 设备上的 flutter dio 包上遇到了一个奇怪的问题 我编写了一个向 url 发送 GET 请求的应用程序 Android 上一切正常 但 iOS 上的请求似乎无法通过 没有发生任何错误 什么也没有 我在 Android
  • 增加 iPhone 的推送通知徽章

    是否可以在收到通知时增加徽章值 或者我应该将计数作为有效负载发送吗 如果我每次都将徽章值发送为 1 那么如果应用程序未打开 我如何增加应用程序图标中的徽章值 我已经使用了这段代码 但不起作用 void application UIAppli
  • 使用ios sdk在youtube上上传视频的方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何从 iOS 应用程序中将视频上传到 YouTube https stackoverflow com questions 3528568 how do i upload a video to you
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • Swift - 保存在 TableView 中选择的复选标记

    我对 Swift 相当陌生 并且在 TableView 多重选择方面遇到问题 我有多个选择 可以用复选标记进行检查 类似于待办事项列表 当我检查项目时 我希望能够返回 ListView 并保存我的选择 我假设将其保持在已保存状态的代码将位于
  • 移动物体而不实际接触物体

    我是 iPhone 开发的初学者 我一直在寻找这个问题的答案 但还没有找到任何东西 我想做的是允许用户移动对象而无需实际触摸该对象 他们可以触摸屏幕上的任何位置 并且当他们移动时 对象将从原来的位置向用户的方向移动移动但不会跳到他们的触摸位
  • Objective-C 点表示法与类方法?

    请注意 我特别指的是点表示法与类方法一起使用 而不是与实例方法一起使用 出于好奇 我想看看如果我尝试在类方法中使用 Objective C 点表示法语法会发生什么 我的实验如下 import
  • 隐藏 UITableview 单元格

    我正在尝试从 UITableView 中隐藏单元格 就像删除操作一样 但我只想隐藏它以便稍后在相同位置显示它 我知道 UITableViewCell 有一个名为 隐藏 的属性 但是当我使用此属性隐藏单元格时 它会隐藏但没有动画 并且会留下空
  • 如何安全地重命名 iOS 分发配置文件?

    我几个小时前刚刚提交了我的第一个应用程序 现在处于 等待审核 状态 但我犯了一个错误 我已经命名了我的分配配置文件My Company Distribution Profile 我应该做的事情被命名为我的发行版配置文件My GAME Dis
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲

随机推荐

  • 哪种方法是最好的? AutoMapper 反对隐式(C# 参考)

    Automapper 是一种匹配类型的方法 理想情况下当您想要映射模型及其视图模型时 但这与我们在 C 中使用隐式实现的方法不一样吗 假设两个模型具有相同的属性但名称不同 在这种情况下 您需要在 AutoMapper 中指定模型之间链接的模
  • ios 上离子范围无法点击

    我在跨平台项目中使用离子 范围 输入 对于android和PC浏览器 如果我点击远离滑块节点的区域 滑块节点将跳转到我点击的位置 并且值将被更新 但对于 IOS 当我单击远离滑块节点的区域时 没有发生任何值变化 这也使得我的滑块很难点击 我
  • 条件恩弗斯审计

    我有一个要求 我只想审核状态字段更改的记录 我遵循了文档章节教程 15 8 条件审计 第 1 步 关闭自动 Envers 事件侦听器注册 我有以下内容
  • 如何使用 python 关闭网络浏览器

    我已经使用打开了一个网络浏览器窗口webbrowser open url 在 python 中 现在我想关闭使用 python 打开的网络浏览器 可以这样做吗 没有webbrowser close 您可以使用以下代码关闭任务 在Window
  • ShowDialog 使应用程序窗口从 Windows 的 Alt-Tab 列表中消失?

    我是 WPF 新手 我正在尝试从主窗口内打开模式对话框 public partial class MainWindow Window protected void OpenCommandExecuted object target Exec
  • 使用 jQuery 获取 div 的背景图像。是否有内置方法可以去掉 url() 部分?

    我正在使用此代码来获取背景图像div var bgImage content css backgroundImage 这是回归url 28http example com images layout content trans png 29
  • Java 中的非阻塞套接字写入与阻塞套接字写入

    为什么有人更喜欢阻塞写入而不是非阻塞写入 我的理解是 如果您想确保另一方在 write 方法返回后收到 TCP 数据包 则只需要阻止 write 但我什至不确定这是否可能 你必须冲洗并且冲洗必须冲洗底层操作系统写套接字缓冲区 那么非阻塞套接
  • 在 Android 后台使用相机

    我正在尝试将照片从相机中投入使用 Override public void onCreate super onCreate android os Debug waitForDebugger myCamera Camera open Surf
  • 如何获取多窗口 SceneDelegate Xcode 11 的当前 keywindow 等效项?

    我正在将适用于 iPadOS 的 iOS13 应用程序转换为 SceneDelegate 多窗口 如何从当前SceneDelegate获取当前UIWindow 我知道 a 可以使用访问当前场景UIView window or UIViewC
  • 为什么 os.system('cls') 不清除最近的输出?

    我一直在使用system cls 在使用 Dev C 之前使用 C 语言 现在正在学习Python 使用Pycharm 2020 2 3 我尝试使用os system cls 这是我的程序 import os print clear scr
  • 渲染 Ruby on Rails 后保留参数

    我有一个属于用户的项目 在我的用户视图中 我有一个添加新项目的链接 其中包含我想要将项目添加到的用户的参数 Url projects new id 62 向用户添加项目是可行的 问题是当添加新项目时验证失败并且我进行渲染时 def crea
  • 从 JSTL 读取属性文件

    我正在尝试使用 taglib 读取 JSTL 形式的 属性文件 但我无法访问它 我已在 web xml 中正确找到了 tld 文件 我确信这一点
  • 是否有相当于 Facebook Access Token linter/debugger 的 API?

    是否有一个与以下功能等效的图形 APIFacebook 访问令牌 linter 调试器我可以通过编程方式调用吗 短绒很好 它告诉您有关您拥有的令牌的各种很酷的信息 例如授予的权限 我可以通过me permissions 问题和到期日期 应用
  • 如何根据正在执行的目标激活配置文件

    当我从命令行执行某些目标时 我想 自动 激活配置文件 例如 我现在在做什么 mvn appengine devserver Pdevelopment mvn appengine update Pproduction 基本上我想在运行 dev
  • 访问 JSON 元素

    我从 URL 获取天气信息 weather urllib2 urlopen url wjson weather read 我得到的是 data current condition cloudcover 0 humidity 54 obser
  • 如何使用现有自定义主题隐藏 XML 中活动的标题栏

    我想隐藏某些活动的标题栏 问题是我对所有活动应用了一种样式 因此我不能简单地将主题设置为 android style Theme NoTitleBar 使用无标题栏主题作为我的样式的父项将从我的所有活动中删除标题栏 我可以在某处设置无标题样
  • C++ STL 线程函子的正确使用

    我在理解 C STL 中函数对象作为线程例程的正确用法时遇到一些困难 根据我的理解 函子的好处之一是对象实例可以维护状态 有时我希望一个或多个线程运行一些例程并计算一些结果 然后 在加入线程后 我从对象中查询这些结果 我正在尝试对 C ST
  • python中的十六进制字符串变量到十六进制值的转换

    我有一个名为 hex string 的变量 该值可能是 01234567 现在我想从此变量获取一个十六进制值 即 0x01234567 而不是字符串类型 该变量的值可能会改变 所以我需要一个通用的转换方法 我认为您可能混淆了数字及其表示形式
  • IdentityServer4 IdentityServer3.AccessTokenValidation

    祝大家新年快乐 我配置了 IdentityServer4 并且可以成功进行 ASP net Core Web api 调用 但对于 ASP NET Framework 4 5 2 Web api 我收到来自 NET Framework We
  • 检测被点击的字符。 UITextView characterRangeAtPoint 总是返回 nil

    我正在尝试确定其中的哪个特定角色UITextView已被窃听 我尝试使用characterRangeAtPoint 方法 但它总是返回零 无论在哪里UITextView我点击 我什至编写并运行了以下代码 for int x 0 x lt 1