rac*_*ola 3 iphone cell uitableview ios ios-simulator
我正在开发一款iPhone应用程序.在下面的图像中,我希望第一个名称是普通字体,最后一个名称是粗体..我该怎么做?请建议我..请检查此图片:
另一个问题.现在我认为相反的方式,但这里的问题是你看到的第一行和第二行是同一个字符串的一部分.我希望第一行是粗体,第二行是普通字体.我将它存储在字典中.所以我的字典有一个键,值是一串名称和部门.我无法设置字体.我试图创建两个标签,并尝试根据索引拆分字符串并将其分配给我创建的标签.但是,在这种情况下,索引会不断变化,因为联系人可能有名字,或者可能没有任何名称.
在这种情况下,Prinicipal应该是普通字体,名称应该是粗体
请看下面的图片:
从OS 6.0开始,UILabel上有一个名为attributionText的属性,它具有NSAttributedString类型(在iOS 3.2及更高版本中可用).
这就是我使用它的方式:
NSDictionary *firstNameAttributes = @{ NSFontAttributeName : [UIFont fontWithName:@"Helvetica" size:18.0],
NSStrokeColorAttributeName : [UIColor blackColor]};
NSDictionary *lastNameAttributes = @{NSFontAttributeName : [UIFont fontWithName:@"Helvetica-Bold" size:20.0],
NSStrokeColorAttributeName : [UIColor blackColor]};
NSString* first = ... first name ..;
NSString* last = [NSString stringWithFormat:@" %@",... last name ....];
NSMutableAttributedString * name =
[[NSMutableAttributedString alloc] initWithString:first attributes:firstNameAttributes];
NSMutableAttributedString * lastName =
[[NSMutableAttributedString alloc] initWithString:last attributes:lastNameAttributes];
[name appendAttributedString:lastName];
[[cell textLabel] setAttributedText:name];
Run Code Online (Sandbox Code Playgroud)
另请参见"归因字符串编程指南".
由于您显示名称字符串的标签定义了格式和样式,如果您想要具有不同的样式,则需要为每种样式设置不同的uilabel.具体来说,你需要一个名字的uilabel:firstNameLabel.font = [UIFont systemFontOfSize:12];
和一个名字:lastNameLabel.font = [UIFont boldSystemFontOfSize:12];
.
首先,第一个名称字符串是firstNameLabel
then调用,[firstNameLabel sizeToFit]
以适应其中的标签文本.然后使用它的框架直接firstNameLabel
放在lastNameLabel
它后面.
UILabel * firstNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,25)];
firstNameLabel.tag = firstNameLabelTag //This should be a constant probably
firstNameLabel.font = [UIFont systemFontOfSize:12];
firstNameLabel.text = theStringRepresentingTheFirstName;
[firstNameLabel sizeToFit];
UILabel * lastNameLabel = [[UILabel alloc] initWithFrame:
CGRectMake(10+firstNameLabel.frame.size.width+2, 10, 100, 25)];
lastNameLabel.tag = lastNameLabelTag //This should be a constant probably
lastNameLabel.font = [UIFont boldSystemFontOfSize:12];
lastNameLabel.text = theLastNameString;.
[cell.contentView addSubview:firstNameLabel];
[cell.contentView addSubview:lastNameLabel];
Run Code Online (Sandbox Code Playgroud)
至于拆分名称字符串,你可能在那里非常有限.我会拆分第一个空格并假设第一个字符串是姓氏(如第一张图片中所示).
原理情况类似,您需要为每个要呈现的样式添加标签.
归档时间: |
|
查看次数: |
5740 次 |
最近记录: |