iOS TextField 獲取游標的位置
最近在做一個專案的時候,發現沒有獲取游標的方法。進過研究後,出來分享給大家:
1、新建一個工程,我使用的Xcode 7.2 也就是 iOS9.2,託轉一個TextField;
2、新建一個類別,對TextFIeld進行一個擴充套件,也就是新建一個類別;
這是.h檔案
#import <UIKit/UIKit.h>
@interface UITextField (ExtentRange)
- (NSRange)selectedRange;
- (void)setSelectedRange:(NSRange)range;
@end
然後.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
大家也看到了,就是基本上一個重寫的Set 和 Get 方法,值得一提的是這裡所定義的
selectedRange
變數,它在UITextView是有這個屬性的,但是在UItextField中確實沒有的。
那麼我們現在來對這個方法進行測試:
#import "ViewController.h" #import "UITextField+ExtentRange.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UITextField *textField; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField *tmpTextField = [[UITextField alloc]initWithFrame:CGRectMake(30, 30, 100, 40)]; [self.view addSubview:tmpTextField]; tmpTextField.text = @"121"; [tmpTextField becomeFirstResponder]; NSRange range = [tmpTextField selectedRange]; NSLog(@"%lu and %lu", (unsigned long)range.location, (unsigned long)range.length); self.textField.text = @"ddwa"; NSLog(@"localhost is %lu, length is %lu", (unsigned long)[self.textField selectedRange].location, (unsigned long)[self.textField selectedRange].length); [self.textField setSelectedRange:NSMakeRange(0, 1)]; NSLog(@"localhost is %lu, length is %lu", (unsigned long)[self.textField selectedRange].location, (unsigned long)[self.textField selectedRange].length); [self.textField addTarget:self action:@selector(didChangeWithTextField:) forControlEvents:UIControlEventEditingChanged]; } - (void)didChangeWithTextField:(UITextField *)textField{ NSRange range = textField.selectedRange; NSLog(@"%lu and %lu", (unsigned long)range.location, (unsigned long)range.length); NSLog(@" ... "); }
可以看到 我在UIVIewDidLoad中寫的變數,所得到的座標位置都是(0 , 0);
然後我對這個textField添加了一個當值改變的一個監聽,每次輸入數值的時候,會有看到打印出來資料的變化。
相關推薦
iOS TextField 獲取游標的位置
最近在做一個專案的時候,發現沒有獲取游標的方法。進過研究後,出來分享給大家: 1、新建一個工程,我使用的Xcode 7.2 也就是 iOS9.2,託轉一個TextField; 2、新建一個類別,對TextFIeld進行一個擴充套件,也就是新建一個類別; 這是.h檔案
自定義鍵盤中的刪除鍵TextField上游標位置的獲取以及設定游標的位子
最近做了一個自定義的鍵盤,輸入框是一個textField,讓人頭疼的問題是,點選刪除按鈕,通過方法,要不就從第一個字元刪,要不就是最後一個,反正就是不能在指定的位置刪除,經過一番努力在網上終於找到方法了 [textField deleteBackward] ,這一句程式碼
獲取游標位置
原文:https://blog.csdn.net/mafan121/article/details/78519348 html <iframe id="editor" width="600px" height="400px" style="border:solid 1px;"><
文字框獲取游標位置 ---- ctrl+enter換行
業務需求:按下enter鍵傳送資訊,按下ctrl+enter鍵換行 下面程式碼是網上找的資料 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm
獲取游標位置方法研究
獲取游標位置可以使用GetCaretPos函式獲取位置,也可以通過GetGUIThreadInfo函式獲取位置。1、GetCaretPos函式獲取游標位置,實現程式碼: CPoint point; CRect rect; GetWindowRect(&rect); HW
IOS UITextField 設定游標位置
textField.leftView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 8, 0)] autorelease]; textField.leftView.userInteractionEnabled =
C#獲取游標位置
摘自:http://zhidao.baidu.com/question/491979457.html 如果以下的文章都不是你想要的看一下 這裡 我想在一個C#程式執行的時候獲取游標的位置!不管這個游標是在程式內部還是外部都能在游標處輸入文字,就像如果游標在記事本上就在記事本
javascript獲取游標位置以及設定游標位置
在專案開發中經常遇到input等設定游標位置到最後的問題,今天我查了一下Google,找到了在IE、Firefox、Opera等主流瀏覽器的獲取游標位置(getCursortPosition)以及設定游標位置(setCursorPosition)的函式。 function
關於文字輸入框獲取游標位置以及指定位置插入內容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script
fixed定位 input在IOS裝置上游標位置異常問題
頁面是個長頁面,點選頁面不同部分,會彈出彈窗,如果用absolute定位,那麼彈窗的位置就難以定位,因而決定採用fixed定位,此時在IOS 11.2.x 系統中就 會出現點選input游標位置異常的問題。 異常如圖所示: 原因分析 input的父元素是採
iOS 【手勢獲取cell位置】【點擊cell獲取indexpath】
tint oid dex 實現 con tab 如何獲取 self tar 如何獲取手指點擊的cell位置: 1,首先創建一個長按(可以是點擊或者其他手勢) UILongPressGestureRecognizer * longgr = [[UILongPressGestu
iOS獲取當前位置經緯度
最近在做一個公交車查詢的專案,需要定位到當前位置以便進行附近站點查詢,和大家分享一下怎樣獲取自己當前位置的經緯度 首先新增CoreLocation.framework庫: 引用標頭檔案並宣告CLLocationManagerDelegate代理: 接下來宣告要用到的變數:
iOS獲取使用者位置
第一種是使用期間獲取位置: Info.plist裡面新增Privacy - Location When In Use Usage Description及描述文字比如:XX想使用您的地理位置資訊 調起詢問使用者:locationManager.requestWhenInUseAuthorization()
JQ外掛:獲取文字框(textarea)內的所選字元和游標位置索引值-selection
(function($){ $.fn.selection = function(){ var s,e,range,stored_range; if(this[0].selectionStart == undefined){ var selection=document.selection; i
quill-editor 在ios下editor不能夠聚焦輸入,插入圖片連結改變游標位置, ios下不能貼上
1) quill-editor 在ios下editor不能夠聚焦輸入 加上@blur 和 onEditorBlur方法,ios的富文字編輯框點選聚焦可以生效 <quill-editor re
JavaScript 獲取輸入時的游標位置及場景問題
前言 在輸入編輯的業務場景中,可能會需要在游標當前的位置或附近顯示提示選項。 比如社交評論中的@user功能,要確保提示的使用者列表總是出現在@字元右下方,又或者是在自定義編輯器中 autocomplete 語法提示,都需要獲取游標當前的位置作為參照點。 兩種
[IOS開發記錄]ios10下使用Xcode8.2獲取gps位置資訊(swift3.0)
CoreLocation是iOS中一個提供裝置定位的框架。通過這個框架可以實現定位處理,從而獲取位置資料,比如經度、緯度、海拔資訊等。 預設環境為Xcode8.2和swift3.0 第一步:先在i
IOS 地圖定位,標記位置,獲取經緯度,MKMapView的使用
IOS 地圖定位,標註地圖,獲取經緯度: 一、使用MKMapView 定位 二、在地圖上通過經緯度標註(大頭針) 最終效果圖: 開啟應用程式會自動定位並且放大到自己的位置,然後在我的位置上顯示自己的經緯度,通過填寫經緯度可以放置大頭針標註。 一、獲取自身的位置和經緯
iOS之百度地圖獲取地理位置名稱
目前很多的應用都用到了百度地圖這一版本,不過有些方法是我在網上並沒有找到的,但是這並不意味著就沒有相關的文章介紹,那麼這裡我所記錄的就是百度地圖獲取地理位置,以及省份,城市,區域,其他的不多說了,直接進入正題吧: 建立地圖基本圖層 然後
iOS 關於圖片地理位置隱私信息的分析和讀取
img control res 位置信息 log mutable hone tro art 今天突然想到微信朋友圈發照片,涉及個人隱私的地理位置是否外泄。由於iphone拍照的照片都會帶有地理位置等信息。我們先來實現怎麽讀取裏面的安全信息。然後再來分析 #import