#pragma mark - 3.截取两个字符串之间的文字,修改其颜色
/**
* 3.截取两个字符串之间的文字,修改其颜色
*
* @param LongString 原来的字符串
* @param beforeString 前面的字符串
* @param afterString 后面的字符串
* @param xColor 文字的颜色
* @param font 文字的字体大小
*
* @return
*/
+(NSMutableAttributedString *)NSStringBetweenChangeFontAndColor:(NSString*)LongString andBefore:(NSString*)beforeString andAfterString:(NSString*)afterString andXColor:(UIColor*)xColor andXFont:(CGFloat)font
{
NSMutableAttributedString *XZstring;
NSRange range = [LongString rangeOfString:beforeString];
NSRange range1 = [LongString rangeOfString:afterString];
XZstring = [[NSMutableAttributedString alloc] initWithString:LongString];
[XZstring addAttribute:NSForegroundColorAttributeName value:xColor range:NSMakeRange(range.location + 1, range1.location - range.location-1)];
[XZstring addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:font]
range:NSMakeRange(range.location + 1, range1.location - range.location-1)];
return XZstring;
}
#pragma mark - UITextViewDelegate
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString: @"\n"]) {
[textView resignFirstResponder];
return NO;
}
NSString *str = [NSString stringWithFormat:@"%@%@", textView.text, text];
if (str.length > 150)
{
textView.text = [textView.text substringToIndex:150];
return NO;
}
return YES;
}
- (void)textViewDidChange:(UITextView *)textView{
//把空字符串替换掉,空格不许提交
NSString *feedbackString = [self.freekTextView.text stringByReplacingOccurrencesOfString:@" " withString:@""];
// if ([feedbackString length] > 0) {
// self.navigationItem.rightBarButtonItem.enabled = YES;
// }else
// {
// self.navigationItem.rightBarButtonItem.enabled = NO;
// }
if (textView.text.length > 150)
{
textView.text = [textView.text substringToIndex:150];
}
self.numberOfWord.text = [NSString stringWithFormat:@"还可输入%lu字",150-textView.text.length];
self.numberOfWord.attributedText = [NSString NSStringBetweenChangeFontAndColor:self.numberOfWord.text andBefore:@"入" andAfterString:@"字" andXColor:kColorRGB(80, 144, 250) andXFont:14];
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{
if ([self.freekTextView.text isEqualToString:WORD]) {
self.freekTextView.textColor = [UIColor blackColor];
self.freekTextView.text = @"";
}
return YES;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)textView{
if ([[self.freekTextView text] length] == 0) {
self.freekTextView.text = WORD;
self.freekTextView.textColor = HUI_FONTCOLOR;
}else{
self.freekTextView.textColor = BLACK_FONTCOLOR;
}
return YES;
}