2017-03-04 69 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]; 
} 

希望这有助于某人。

相关问题