更新: 看起來你想要的是讓用戶發生在簽名光標反正,但不能讓她式
在這種情況下,你會想用這個來代替
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
NSInteger signatureLength=20;
if(range.location>self.textView.text.length-signatureLength){
return false;
}
else{
return true;
}
}
原文:
您需要使用UITextViewDelegate
林plement的 - (空)textViewDidChangeSelection:(UITextView的*)TextView的方法,是這樣的:
在這個例子中,我們假設簽名長度爲20,這將是這個樣子:
-(void)textViewDidChangeSelection:(UITextView *)textView{
NSInteger signatureLength=20;
NSRange newSelection=self.textView.selectedRange;
if(newSelection.location>self.textView.text.length-signatureLength){
[self.textView setSelectedRange:NSMakeRange(self.textView.text.length-signatureLength, 0)];
}
}
所以基本上每當選擇(本例中爲光標)發生更改時,都會截取,如果光標將位於簽名的中間,則重新定位它之前的位置。 使用0長度設置選區只會改變光標位置。
只是一個精度,假設您是用簽名字符串初始化textview,並且在這種情況下簽名長度是20個字符。 – 2012-04-22 01:18:58
使用此方法,您將如何格式化並使簽名字符串可點擊? – 2012-04-22 05:43:31
你是什麼意思?你想讓光標在其內閃爍可點擊嗎?但只是不可編輯?然後你應該使用 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text改爲,讓我用該信息編輯我的答案 – 2012-04-22 06:39:56