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 光标的位置设置获取的更多相关文章

  1. 设置输入域(input/textarea)中文本光标的位置

    以前记录了一篇 将光标定位于输入框最右侧的实现方式 ,实现光标定位在文本的最末.这种需求往往在修改现有的文本.有时可能还需要把光标定位在首位,或者中间某个位置,这就需要实现一个更通用的方法. 这个方法 ...

  2. android EditText控制光标的位置

    利用自定义键盘,需要手动删除编辑框中的文本时,会根据光标的位置来删除字符.那么,如何来控制光标呢,android为我们提供了哪些方法,来处理光标呢? 这里提供几个自己写的方法,根据这些方法可以满足在光 ...

  3. 控制input输入框光标的位置

    一:理解input, textarea元素在标准浏览器下两个属性selectionStart, selectionEnd. selectionStart: 该属性的含义是 选区开始的位置: selec ...

  4. style设置/获取样式的问题 和 offsetWidth/offsetHeight的问题

    style设置/获取样式的问题:1.js通过style方法    --加样式:加的是行间样式 oDiv.style.width="20"+'px';    --取样式:取得是行间样 ...

  5. android EditText插入字符串到光标所在位置

    EditText mTextInput=(EditText)findViewById(R.id.input);//EditText对象 int index = mTextInput.getSelect ...

  6. IOS开发-UI学习-UITextField的各种属性设置

    UITextField是IOS中非常常用的一个控件,用来接收用户输入信息,完成应用和用户的交互.它的主要属性设置如下: //初始化textfield并设置位置及大小 UITextField *text ...

  7. ios开发之--UITextField光标右移

    有时候,我们直接使用TF进行操作,有时候需要裁剪,但是裁剪后,光标还是置顶的,很不美观,解决办法: // 设置一个空白View,15.0就是这块View的宽度width,也是光标的位置,根据需要设定大 ...

  8. javascript控制滚动条的位置,获取控件的位置

    一.如下是定位鼠标在视窗中的位置,先定位视窗和页面直接的距离. function getMousePoint() { var point = {x:0,y:0}; // 如果浏览器支持 pageYOf ...

  9. java窗口按钮位置设置

    java窗口按钮位置设置 代码如下: package Day08; import java.awt.BorderLayout; import javax.swing.JButton;import ja ...

随机推荐

  1. kubuntu添加windows字体

    1.选取字体 在/usr/share/fonts/truetype中新建一个目录,命名为ms,然后将Windows\fonts 目录下的tahoma.ttf.tahomabd.ttf(Tahoma的粗 ...

  2. CodeForces - 508D Tanya and Password(欧拉通路)

    Description While dad was at work, a little girl Tanya decided to play with dad characters. She has ...

  3. java多线程(同步与死锁问题,生产者与消费者问题)

    首先我们来看同步与死锁问题: 所谓死锁,就是A拥有banana.B拥有apple. A对B说:你把apple给我.我就把banana给你. B对A说:你把banana给我,我就把apple给你. 可是 ...

  4. 简单的Ajax

    ajax获取时间的html代码 <head> <meta http-equiv="Content-Type" content="text/html; c ...

  5. 自定义配置文件的使用(web.config/app.config)

    以下非原创作品,但都是自己看过理解并写过,记录下来,以便之后项目的使用或其它用途. (1)只需要简单配置单一属性值: <configuration> <configSections& ...

  6. 20151214--JSTL

  7. leetcode Divide Two Integers python

    class Solution(object): def divide(self, dividend, divisor): """ :type dividend: int ...

  8. php 封装Mysql数据库操作类

    花了点时间写了个基于php5.3的Mysql类 $mysql = new Mysql('host','user','pass','db') bool Mysql::insert("表&quo ...

  9. Activity之间定时跳转

    起源:很多应用在打开时,首先会加载欢迎页面,经过几秒后再跳转到主页面. 下面,我通过两种不同的方式来实现页面的定时跳转. 第一种方式: 通过Timer类的schedule方法. 实现从MainActi ...

  10. linux win7双系统

    真恨我自己啊,刚在linux下写了这个博客,因为没有分类,添加了个linux分类.按了F5刷没了.靠,哪里有心情复述啊 一直想装直接装linux系统,现在实现他,以后也要跟上linux的笔记,不然都对 ...