- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 UITextView
,我想在其中选择一部分文本。我正在尝试使用 selectedTextRange
,不幸的是我得到了这个错误:
Cannot convert value of type 'NSRange' (aka '_NSRange') to expected argument type 'UITextRange'
这是我尝试使用的代码:
mainTextField.becomeFirstResponder()
mainTextField.selectedTextRange = mainTextField.textInRange(matchRange) // matchRange is a NSRange
我使用的范围来 self 改编自 this tutorial 的正则表达式1 :
编辑:添加了第一行
if let regex = NSRegularExpression(options: searchOptions){ // refers to an installed extension convenience init
let range = NSMakeRange(0, (mainTextField.text.characters.count))
let matches = regex.matchesInString(mainTextField.text, options: [], range: range)
[...]
最佳答案
您可以在 UITextView
上添加一个扩展来进行转换。
extension UITextView
{
func textRangeFromNSRange(range:NSRange) -> UITextRange?
{
let beginning = self.beginningOfDocument
guard let start = self.positionFromPosition(beginning, offset: range.location), end = self.positionFromPosition(start, offset: range.length) else { return nil}
return self.textRangeFromPosition(start, toPosition: end)
}
}
使用
if let range = mainTextView.textRangeFromNSRange(range: matchRange){
mainTextField.selectedTextRange = range
}
其中 matchRange
是一个 NSRange
而 range
是一个 UITextRange
关于swift - 如何在 Swift 中选择具有 NSRange 的 textView 中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37930360/
如果案例 1:range1 是 (5,10) 并且 range2 是 (8,0) 它应该返回 true。情况 2:range1 是 (5,10) 并且 range2 是 (5,4) 它应该返回 tru
示例代码: import XCTest func == (lhs: NSRange, rhs: NSRange) -> Bool { return lhs.location == rhs.lo
我正在尝试实现 Easy Game Center link但我得到这个错误: Cannot convert value of type 'NSRange' (aka 'NSRange') to exp
我试图在一个字符串中查找多个字符串的 NSRange。 在下面的代码中,我使用 String.range(of: String, options: , Range) 方法找到 Range,并转换为 N
我在使用 NSRange 时遇到问题。这是我的代码: NSRange range = [[[NSHTTPCookie requestHeaderFieldsWithCookies:[[NSHTTPCo
我看了一段关于 ios7 编程的视频,看到了下面的一段代码。 我真的不能理解变量范围在这里是如何工作的。 我们创建了一个 NSrange 变量范围并且从不给它赋值,所以我认为 &range 指针应该返
我的 NSRange 有一个问题,导致我的应用程序在 textview 为空时崩溃。我使用的是自定义键盘,上面有一个退格键,它在此处调用此代码... if ([self.myChart isFirst
我正在开发一个应用程序,它接受一种名为“泰米尔语”的语言的输入。因此,为了找到字符串中任何特定字符的范围,我使用了以下代码。 var range = originalWord.rangeOfStrin
我的设备 (iPhone iOS 4.3) 上有奇怪的 NSRange 行为。此代码在设备和模拟器上有不同的行为。 for (Location *location in locationArray)
我写了一个在地址簿中搜索人的方法,我希望即使调用方法[someAdressBook searchName:@"joh"];也能找到“john bigs”;. 我的方法适用于全名,但我在部分名称中遇到问
我编写了一种方法,通过向它发送该词的 NSString 来突出显示段落中的词,在我遇到这种情况之前,它一直运行良好: 当我有这段文字时: Their mother has tried dressing
我遇到了这种奇怪的效果,在 rangeOfString 上调用 location 会返回一个非常大的值,而它不应该... 我的代码是这样的: NSRange range = [string range
这个问题在这里已经有了答案: What does NSMakeRange(i, 1) mean? (2 个答案) 关闭 6 年前。 我正在使用带有属性字符串的 NSRange,但我不完全理解文本的哪
NSRange 变量是否可能包含多个范围?像这样的东西: var multipleRanges: NSRange = [NSMakeRange(0, 2), NSMakeRange(10, 1),
我有一个字符串: He said "hello mate" yesterday. 我想获取从第一个引文到最后一个引文的 NSRange。所以我尝试了这样的事情: NSRange openingRang
我正在努力尝试生成一个有效的 NSRange,它似乎不应该这么复杂,所以我猜我使用了错误的方法。这是我正在尝试做的事情: 我有一个字符串,其中包含一些 unicode 字符: "The quick b
我有一个返回 NSRange 的方法。当我从类外部调用此方法时,出现编译错误。 NSRange tmpRange; tmpRange = [phrase rangeInString:searchStr
我有一个从 http GET 返回的大字符串,我正在尝试确定它是否有特定的文本片段(请原谅我的错误) 我的问题是:我可以/应该使用 NSRange 来确定这段文本是否存在吗? NSRange te
这是我的代码: regex.enumerateMatchesInString(parsingMemo.string, options: NSMatchingOptions(rawValue: 0),
这是我的代码:我正在尝试格式化我的文本 NSMutableAttributedString(),但它似乎总是超出范围。 Terminating app due to uncaught exceptio
我是一名优秀的程序员,十分优秀!