1. 程式人生 > >iOS應用意見反饋程式碼塊

iOS應用意見反饋程式碼塊

#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;
}