我希望在写入新文本之前清除UITextView上先前写入的文本。我是这样做的。
textView.text = @"";
textView.text = @"something";
但是,之前的文本没有被清除,它与当前文本重叠。TextView是不可编辑的。
我希望在写入新文本之前清除UITextView上先前写入的文本。我是这样做的。
textView.text = @"";
textView.text = @"something";
但是,之前的文本没有被清除,它与当前文本重叠。TextView是不可编辑的。
- (void) textViewDidBeginEditing:(UITextView *) textView {
[textView setText:@""];
}
textView.delegate
设置为 self
。 - max_这里是一段 Swift 代码
func textViewDidBeginEditing(textView: UITextView) {
txtView.text = ""
txtView.textColor = UIColor.blackColor()
}
func textViewDidEndEditing(textView: UITextView) {
if txtView.text.isEmpty {
txtView.text = "Write your comment."
txtView.textColor = UIColor.blackColor()
}
}
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
if text == "\n" // Recognizes enter key in keyboard
{
textView.resignFirstResponder()
return false
}
return true
}
注意:将委托给您的TextView
首先将所选范围设置为textView的整个文本:
[textView setSelectedRange:NSMakeRange(0, textView.text.length)];
[textView setText:@""];
就像这样:
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
// Make the textView visible in-case the keyboard has covered it
[table scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]
atScrollPosition:UITableViewScrollPositionTop
animated:YES];
// Keyboard toolbar prev/next buttons
[nextPreviousControl setEnabled:YES forSegmentAtIndex:0];
[nextPreviousControl setEnabled:NO forSegmentAtIndex:1];
//
// Erase all text in the textView before editing starts:
//
[textView setSelectedRange:NSMakeRange(0, textView.text.length)];
[textView setText:@""];
return YES;
}
ViewController
中,该 ViewController
包含 UITextView
,并放在 viewDidLoad
方法中:[textView setDelegate:self];
。 - chown<UITextViewDelegate>
,如下所示-> @interface MyViewController : UIViewController <UITextViewDelegate> {
- chown