UITextField 光标的位置设置获取
2016-01-16 12:52
381 查看
UITextField 光标的位置设置获取
通过给UITextField 加一个拓展
//#import "UITextField+ExtentRange.h"
#import <UIKit/UIKit.h>
@interface UITextField (ExtentRange)
- (NSRange) selectedRange;
- (void) setSelectedRange:(NSRange) range;
@end
// #import "UITextField+ExtentRange.m"
#import "UITextField+ExtentRange.h"
@implementation UITextField (ExtentRange)
- (NSRange) selectedRange
{
UITextPosition* beginning = self.beginningOfDocument;
UITextRange* selectedRange = self.selectedTextRange;
UITextPosition* selectionStart = selectedRange.start;
UITextPosition* selectionEnd = selectedRange.end;
const NSInteger location = [self offsetFromPosition:beginning toPosition:selectionStart];
const NSInteger length = [self offsetFromPosition:selectionStart toPosition:selectionEnd];
return NSMakeRange(location, length);
}
- (void) setSelectedRange:(NSRange) range
{
UITextPosition* beginning = self.beginningOfDocument;
UITextPosition* startPosition = [self positionFromPosition:beginning offset:range.location];
UITextPosition* endPosition = [self positionFromPosition:beginning offset:range.location + range.length];
UITextRange* selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition];
[self setSelectedTextRange:selectionRange];
}
@end
通过给UITextField 加一个拓展
//#import "UITextField+ExtentRange.h"
#import <UIKit/UIKit.h>
@interface UITextField (ExtentRange)
- (NSRange) selectedRange;
- (void) setSelectedRange:(NSRange) range;
@end
// #import "UITextField+ExtentRange.m"
#import "UITextField+ExtentRange.h"
@implementation UITextField (ExtentRange)
- (NSRange) selectedRange
{
UITextPosition* beginning = self.beginningOfDocument;
UITextRange* selectedRange = self.selectedTextRange;
UITextPosition* selectionStart = selectedRange.start;
UITextPosition* selectionEnd = selectedRange.end;
const NSInteger location = [self offsetFromPosition:beginning toPosition:selectionStart];
const NSInteger length = [self offsetFromPosition:selectionStart toPosition:selectionEnd];
return NSMakeRange(location, length);
}
- (void) setSelectedRange:(NSRange) range
{
UITextPosition* beginning = self.beginningOfDocument;
UITextPosition* startPosition = [self positionFromPosition:beginning offset:range.location];
UITextPosition* endPosition = [self positionFromPosition:beginning offset:range.location + range.length];
UITextRange* selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition];
[self setSelectedTextRange:selectionRange];
}
@end
相关文章推荐
- 213,使用UINavigationController实现页面跳转
- easyui 在tabs子页面关闭当前tabs
- iOS 开发学习之 User Interface(3)iOS 坐标系和 UILabel 与 UIButton
- iOS 开发学习之 User Interface(2)UIWindow 视窗
- fail to build phoneME Feature-转
- iOS 开发学习之 User Interface(3)iOS 坐标系和 UILabel 与 UIButton
- QQ互联登陆出现(1054) Unknown column “conuintoken” in “field list”
- workqueue机制分析之wb_workfn函数
- UIAlertView -(警告框)方法总结
- 【Android开发小记--2】百度外卖 UI界面
- 微信官方UI库—WeUI
- 微信官方UI库—WeUI
- 如何使用APUE源代码(UNIX高级编程)-转
- UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView
- workqueue机制分析之process_one_work分析
- UITextView控件_文字内容居左居上
- ue实用技巧-转
- 【iOS】Segue的页面跳转和传值
- the wait queue
- UI_动态图片