更新: 看起来你想要的是让用户发生在签名光标反正,但不能让她式
在这种情况下,你会想用这个来代替
- (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