jjzjj

UITextRange

全部标签

iphone - 如何使用 UITextRange 从 UITextField 获取子字符串

所以我使用selectedTextRange从我的UITextField中获取光标位置。我想获取从我的TextField文本开头到光标位置的子字符串。我该怎么做呢?我能够创建我想要的UITextRange,但我不知道如何使用它来获取实际的子字符串,因为substringWithRange似乎只适用于NSRange。任何指导将不胜感激。 最佳答案 您需要使用所有TextView都实现的UITextInput协议(protocol)中的方法来执行此操作。对于文本范围,您只需调用textInRange:即可获取文本。要获取从字段开头到所选

swift - 使用 Swift 选择 UITextView 的整个文本

我尝试以与使用UITextField相同的方式执行此操作:textView.selectedTextRange=textView.textRange(from:textView.beginningOfDocument,to:textView.endOfDocument)我做错了什么? 最佳答案 在选择之前,您应该使文本字段成为第一响应者:textView.becomeFirstResponder()textView.selectedTextRange=textView.textRange(from:textView.beginnin

ios - 使用 UITextView 的子类和自定义屏幕键盘,调用 textField.textShouldChange

我构建了一个自定义屏幕键盘,它不是UITextField的inputView在键盘的委托(delegate)方法中,我想调用activeTextField.shouldChangeText(in:UITextRange,replacementText:String)String这里显然是我的键盘生成的新值。UITextRange只是一个要被子类化的类:/*Toaccommodatetextentryindocumentsthatcontainnestedelements,orinwhichsupplyingand*evaluatingcharactersatindicesisanexp

ios - 如何从 UITextView 或 UITextField 获取选定范围的文本

我正在尝试从UITextView(和/或UITextField)中获取选定的文本范围,以便我可以编辑选定的文本,或修改属性字符串。当我进行选择时会触发下面的方法,但方法中的代码返回空值。-(void)textViewDidChangeSelection:(UITextView*)textView{UITextRange*selectedRange=[textFieldselectedTextRange];NSLog(@"Start:%@End:%@",selectedRange.start,selectedRange.end);} 最佳答案

ios - 如何从 UITextView 或 UITextField 获取选定范围的文本

我正在尝试从UITextView(和/或UITextField)中获取选定的文本范围,以便我可以编辑选定的文本,或修改属性字符串。当我进行选择时会触发下面的方法,但方法中的代码返回空值。-(void)textViewDidChangeSelection:(UITextView*)textView{UITextRange*selectedRange=[textFieldselectedTextRange];NSLog(@"Start:%@End:%@",selectedRange.start,selectedRange.end);} 最佳答案

ios - 多行文本的选定 UITextRange 调整的 CGRect?

我用过thisanswer以便为特定范围的文本创建CGRect。在这个UITextView中,我将其设置为attributedText(所以我得到了一堆具有不同字形大小的样式文本)。这对于左对齐的第一行文本非常有效,但在使用NSTextAlignmentJustified或NSTextAlignmentCenter时会产生一些非常奇怪的结果。当换行或(有时)有\n换行符时,它也无法正确计算。我得到这样的东西(这是居中对齐的):当我期望这样的时候:这个有一个\n换行符——前两个代码位被高亮成功,但是最后一个morecodeforyousee不是因为文本包装不计入x,y计算。这是我的实现:

ios - 多行文本的选定 UITextRange 调整的 CGRect?

我用过thisanswer以便为特定范围的文本创建CGRect。在这个UITextView中,我将其设置为attributedText(所以我得到了一堆具有不同字形大小的样式文本)。这对于左对齐的第一行文本非常有效,但在使用NSTextAlignmentJustified或NSTextAlignmentCenter时会产生一些非常奇怪的结果。当换行或(有时)有\n换行符时,它也无法正确计算。我得到这样的东西(这是居中对齐的):当我期望这样的时候:这个有一个\n换行符——前两个代码位被高亮成功,但是最后一个morecodeforyousee不是因为文本包装不计入x,y计算。这是我的实现:

ios - 将 selectedTextRange UITextRange 转换为 NSRange

如何将UITextRange对象转换为NSRange?我已经看到很多关于转向另一个方向的SO帖子,但这与我需要的相反。我正在使用UITextRangeselectedTextRange,它是UITextView的一个属性。它返回一个UITextRange但我需要一个范围。 最佳答案 你需要这样的东西:-(NSRange)selectedRangeInTextView:(UITextView*)textView{UITextPosition*beginning=textView.beginningOfDocument;UITextRa

ios - 将 selectedTextRange UITextRange 转换为 NSRange

如何将UITextRange对象转换为NSRange?我已经看到很多关于转向另一个方向的SO帖子,但这与我需要的相反。我正在使用UITextRangeselectedTextRange,它是UITextView的一个属性。它返回一个UITextRange但我需要一个范围。 最佳答案 你需要这样的东西:-(NSRange)selectedRangeInTextView:(UITextView*)textView{UITextPosition*beginning=textView.beginningOfDocument;UITextRa

objective-c - 从 NSRange 创建 UITextRange

我需要在TextView中找到不同范围的像素帧。我正在使用-(CGRect)firstRectForRange:(UITextRange*)range;来做到这一点。但是我不知道如何实际创建UITextRange.基本上这就是我要找的东西:-(CGRect)frameOfTextRange:(NSRange)rangeinTextView:(UITextView*)textView{UITextRange*range2=[UITextRangerangeWithNSRange:range];//DOESNOTEXISTCGRectrect=[textViewfirstRectForRa
12