生活随笔
收集整理的這篇文章主要介紹了
轻松使用富文本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最后發現需要6.0以后,因為nsfontattributename之類的是6.0以后的api
? ? 長久以來,我以為富文本是一種在ios中使用特別麻煩的事情,但是不經意的研究發現,其實并沒有那么難!
? ?以下的代碼實現了uilabel中放置富文本。
NSMutableAttributedString *richTask = [[NSMutableAttributedString alloc] initWithString:task];NSDictionary *urgentAttributes = @{NSFontAttributeName : [UIFont fontWithName:@"Courier" size:24],NSStrokeWidthAttributeName : @3.0,NSStrokeColorAttributeName:[UIColor greenColor]};[richTask setAttributes:urgentAttributes range:urgentRange];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{NSString *identifier = nil;NSString *task = [self.tasks objectAtIndex:indexPath.row];NSRange urgentRange = [task rangeOfString:@"URGENT"];if (urgentRange.location == NSNotFound) {identifier = @"plainCell";} else {identifier = @"attentionCell";}UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];// Configure the cell...UILabel *cellLabel = (UILabel *)[cell viewWithTag:1];NSMutableAttributedString *richTask = [[NSMutableAttributedString alloc] initWithString:task];NSDictionary *urgentAttributes = @{NSFontAttributeName : [UIFont fontWithName:@"Courier" size:24],NSStrokeWidthAttributeName : @3.0,NSStrokeColorAttributeName:[UIColor greenColor]};[richTask setAttributes:urgentAttributes range:urgentRange];if (urgentRange.location != NSNotFound) {NSRange otherPartRange = NSMakeRange(urgentRange.length+urgentRange.location, task.length-urgentRange.length);NSDictionary* otherPartAttributes = @{NSFontAttributeName : [UIFont fontWithName:@"Courier" size:12],NSStrokeWidthAttributeName : @0,NSStrokeColorAttributeName:[UIColor redColor]};[richTask setAttributes:otherPartAttributes range:otherPartRange];}cellLabel.attributedText = richTask;return cell;
}
轉載于:https://blog.51cto.com/derkin2jessie/1246321
總結
以上是生活随笔為你收集整理的轻松使用富文本的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。