【发布时间】:2013-11-26 12:46:54
【问题描述】:
我在自定义 UITableViewCell 中有一个 UITextField,我想从头部截断其文本,而不是尾部。
我在awakeFromNib中设置换行模式:
- (void)awakeFromNib
{
[super awakeFromNib];
NSMutableDictionary* textAttributes = [self.textField.defaultTextAttributes mutableCopy];
NSMutableParagraphStyle* paragraphStyle = [self.textField.defaultTextAttributes[NSParagraphStyleAttributeName] mutableCopy];
paragraphStyle.lineBreakMode = NSLineBreakByTruncatingHead;
[textAttributes setObject:[UIColor redColor] forKey:NSForegroundColorAttributeName];
[textAttributes setObject:paragraphStyle forKey:NSParagraphStyleAttributeName];
self.textField.defaultTextAttributes = textAttributes;
}
当它被设置时,离开文本字段(退出第一响应者)似乎会导致使用 NSLineBreakByTruncatingTrail。
变化发生在textFieldShouldEndEditing: 和textFieldDidEndEditing: 之间:当我在这两种方法中设置断点时,第一个中的换行模式是NSLineBreakByTruncatingHead,但第二个是NSLineBreakByTruncatingTail。
有没有办法可以设置换行模式并让它坚持下去?
【问题讨论】:
标签: ios objective-c uikit uitextfield nsattributedstring