2017-03-04 31 views
0

通過我的搜索,我一直無法找到我的答案。表視圖單元格像筆記應用程序

基本上我有一個像視圖控制器的基本筆記。我希望效果如同筆記,其中第一行是音符的標題,其餘的正文在副標題尾部。

我怎麼把它設置:

NSString *note = nil; 
if (tableView == self.tableView) { 
    note = [noteArray objectAtIndex:indexPath.row]; 
} 
NSString *date = [dateArray objectAtIndex:indexPath.row]; 
NSInteger charnum = [note length]; 
if (charnum >= 22) { 
    cell.textLabel.text = [[note substringToIndex:18] stringByAppendingString:@"..."]; 
} 
else{ 
    cell.textLabel.text = note; 
} 

[cell.detailTextLabel setText:[NSString stringWithFormat:@"%@ - %@", date, [note substringFromIndex:18]]]; 
[cell.detailTextLabel setNumberOfLines:1]; 

現在它讀取到18個字符,然後... ...和字幕把它撿起其餘部分。

我該如何設置標題/標題,然後爲此設置正文?

回答

0

所以我想通了。如果有人在這裏感興趣,我是如何做到的。

它在TextView的像這樣正確設置它的組合:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 

    NSMutableString *newString = [NSMutableString stringWithString:self.textView.text]; 
    [newString replaceCharactersInRange:range withString:text]; 
    NSString *trimmed = [newString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 
    NSRange newLineRange = [trimmed rangeOfCharacterFromSet:[NSCharacterSet newlineCharacterSet]]; 
    if(newLineRange.length > 0) 
    { 
     self.textView.text = [trimmed substringToIndex:newLineRange.location]; 
    } 
    else { 
     self.textView.text = trimmed; 
    } 

    return YES; 

} 

節省了第一行的「標題」

下一頁在我的tableView,我設置顯示如下:(我將提供我的整個手機,而不是我改變的東西)。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 

    [cell setSelectionStyle:UITableViewCellSelectionStyleDefault]; 
    [cell.textLabel setNumberOfLines:1]; 
    [cell.textLabel setLineBreakMode : NSLineBreakByTruncatingTail]; 
    [cell setClipsToBounds:YES]; 

    // Configure the cell label. 
    [cell.textLabel setTextColor: [UIColor whiteColor]]; 
    [cell.textLabel setFont:[UIFont boldSystemFontOfSize:18]]; 

    //Cell Base color 
    [cell.contentView.superview setBackgroundColor:[UIColor colorWithRed:0.271 green:0.271 blue:0.271 alpha:1]]; 

    //Cell selection color 
    UIView *cellColor = [[UIView alloc] init]; 
    [cellColor setBackgroundColor:[UIColor colorWithRed:0.176 green:0.176 blue:0.176 alpha:0.95]]; 
    [cell setSelectedBackgroundView:cellColor]; 

    //Cell border 
    [cell.layer setBorderColor:[UIColor colorWithRed:30/255.0 green:30/255.0 blue:30/255.0 alpha:1.0].CGColor]; 
    [cell.layer setBorderWidth:1.5f]; 

    //Setting the first line of cell. 
    NSString *note = nil; 
    if (tableView == self.tableView) { 
     note = [noteArray objectAtIndex:indexPath.row]; 
    } 
    cell.textLabel.text = note; 

    //Subtitle line. 
    NSRange startRange = NSMakeRange(1, 0); 
    NSRange titleRange = [note lineRangeForRange:startRange]; 
    NSString *titleString = [note substringFromIndex:titleRange.length]; 
    titleString = [titleString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 
    //titleString = [titleString stringByReplacingOccurrencesOfString:@"\r\n" withString:@""]; 

    //Setting the date. 
    NSString *date = [dateArray objectAtIndex:indexPath.row]; 

    [cell.detailTextLabel setNumberOfLines:1]; 

    //New method of having two seperate colors for the detail string. 
    NSAttributedString *scoreAttributedString = [[NSAttributedString alloc] initWithString:date attributes:@{NSForegroundColorAttributeName: [UIColor colorWithRed:0.20 green:0.67 blue:0.86 alpha:1.0]}]; 
    NSAttributedString *domainAttributedString = [[NSAttributedString alloc] initWithString:titleString attributes:@{NSForegroundColorAttributeName: [UIColor lightTextColor]}]; 

    NSMutableAttributedString *detailMutableAttributedString = [[NSMutableAttributedString alloc] init]; 
    [detailMutableAttributedString appendAttributedString:scoreAttributedString]; 
    [detailMutableAttributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@" "]]; 
    [detailMutableAttributedString appendAttributedString:domainAttributedString]; 

    [[cell detailTextLabel] setAttributedText:detailMutableAttributedString]; 
} 

希望這有助於某人。

相關問題