iOS應用意見反饋程式碼塊
阿新 • • 發佈:2019-01-31
#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; }