UITextView在游標處插入字串

2021-09-23 23:09:00 字數 1930 閱讀 3894

下面是某次需求中要求在游標處插入所匯入的字串,並且以分開。

這裡新增了比較多的邏輯處理,過濾一些字元。另外,在6.0系統上獲取selectedrange.location會出現nsnotfound等,因此還處理新增特殊處理。下面的**是相容到ios 6.0的。

#pragma mark -- 更新插入資料到游標處

- (void)updatetextviewtextinsertedstring:(nsstring *)text

// 獲得游標所在的位置

nsuinteger location = self

.diseasedesctextview

.selectedrange

.location;

if (location == nsnotfound || location >= self

.diseasenametextfield

.text

.length)

nsstring *currenttext = self

.diseasedesctextview

.text;

if (kisemptystring(currenttext))

self

.diseasedesctextview

.text = [nsstring stringwithformat:@"%@%@",

currenttext,

text];

[self textviewdidchange:self

.diseasedesctextview];

return;

} // 如果游標之前沒有內容,去掉前面的逗號

if (kisemptystring([self

.diseasedesctextview

.text substringtoindex:location])) else

}} if (kisemptystring(self

.diseasedesctextview

.text))

if (!kisemptystring([self

.diseasedesctextview

.text substringfromindex:location]))

nsstring *pretext = [self

.diseasedesctextview

.text substringtoindex:location];

if (kisemptystring(pretext))

nsstring *lasttext = [self

.diseasedesctextview

.text substringfromindex:location];

if (kisemptystring(lasttext))

nsstring *result = [nsstring stringwithformat:@"%@%@%@",

pretext,

text,

lasttext];

self

.diseasedesctextview

.text = result;

[self textviewdidchange:self

.diseasedesctextview];

// 調整游標

self

.diseasedesctextview

.selectedrange = nsmakerange(location + text.length + 1, 1);

}

有問必答qq群:324400294

點選按鈕在游標所在處插入值

最近專案上用到了在游標所在處插入值,順便在這裡記錄一下。有興趣的朋友可以看一下 1.寫段簡單的html 在這個input框插入值 插入值這裡無效 2.引用js進行控制 function tex1 blur function button name addbutton click function b...

UITextView在Swift中的使用,自適應

如果需要在tableview中使用textview,一般都是在static cell中用。讓輸入框自適應,非常簡單。textview放在中間,設定constriant,top,bottom,trailing,leading 繫結到vc class myvc uitableviewcontroller...

C 獲得游標在螢幕中的位置並在位置處輸入指定文字

實現目標 c 獲得游標在螢幕中的位置並在位置處輸入指定文字。實現示例 滑鼠游標定位到winform軟體的任意輸入位置,按f1快捷鍵快速輸入當前時間。實現思路 1 首先監聽f1鍵盤按下事件 2 獲取前台視窗的控制代碼 檢索建立視窗的執行緒資訊 傳送訊息。程式型別 winform 實現過程 首先,定義兩...