我正在開發一個代碼,我需要從UITextView
執行刪除和退格操作。 我想:如何執行退格和刪除?
-(IBAction)delete:(id)sender{
uitextview.text =[uitextview.text substringToIndex:[uitextview.text length]-1];
}
這個執行的後排空間,並刪除最後一個字符,但如何在一個特定的光標位置刪除特定位置的字符uitextview
。
請幫我一把。
我正在開發一個代碼,我需要從UITextView
執行刪除和退格操作。 我想:如何執行退格和刪除?
-(IBAction)delete:(id)sender{
uitextview.text =[uitextview.text substringToIndex:[uitextview.text length]-1];
}
這個執行的後排空間,並刪除最後一個字符,但如何在一個特定的光標位置刪除特定位置的字符uitextview
。
請幫我一把。
感謝您的建議。我想提出一種方法來執行這項工作。
NSRange range = uitextview.selectedRange;
NSRange selectedRange = uitextview.selectedRange;
NSLog(@"%d",selectedRange.length);
NSLog(@"%d",selectedRange.location);
int temploc=selectedRange.location;
NSMutableString *text = [uitextview.text mutableCopy];
// NSLog(@"Length: %d Location: %d", range.length, range.location);
if (range.length > 0) {
[text deleteCharactersInRange:range];
}
if (range.length == 0 && range.location != 0) {
NSRange backward = NSMakeRange(range.location - 1, 1);
// NSLog(@"Length: %d Location: %d", backward.length, backward.location);
[text deleteCharactersInRange:backward];
}
uitextview.text = text;
使用UITextView
的selectedRange
屬性。這表示光標位置和/或選定的文本(如果未選擇文本,長度將爲零)。
所以,如果range.length> 0,則可以使用stringByReplacingCharactersInRange:withString:
來刪除所選文本。
否則,創建一個新的範圍,其位置小於您選擇的範圍和長度1,然後刪除此字符。
您可能需要重新設置selectedRange
屬性以確保光標在適當的位置結束。我想象所有這些都是在使用標準鍵盤時自動完成的。
我試圖使用NSRange selectedRange = uitextview.selectedRange; (@「%d」,selectedRange.length); \t NSLog(@「%d」,selectedRange.location); \t int temploc = selectedRange.location; 並在刪除位置我給了臨時位置,但它無法工作 –
我不知道你的意思,我更新的答案有幫助嗎?如果沒有,你可以用你正在使用的代碼更新問題,你得到的結果(「不起作用」不是很有用) – jrturton