【发布时间】:2014-07-30 07:01:18
【问题描述】:
我有一个单元格,它有一个自定义 UIView 子类作为它的 contentView 子视图之一。子类将用作标签列表。
在单元格创建方法中,我完成了对子类的以下调用:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[searchResultCell.categoriesView createLabelsForArray:newCats];
调用如下方法:
-(void)createLabelsForArray:(NSArray *)labelArray {
NSLog(@"%s",__PRETTY_FUNCTION__);
for (NSString *labelTextString in labelArray) {
NSLog(@"label string : %@",labelTextString);
NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont systemFontOfSize:12], NSFontAttributeName,
nil];
CGRect frame = [labelTextString boundingRectWithSize:CGSizeMake(128, 15)
options:NSStringDrawingTruncatesLastVisibleLine
attributes:attributesDictionary
context:nil];
CGSize size = frame.size;
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, size.width, size.height)];
label.textColor = [UIColor blueColor];
label.text = labelTextString;
NSLog(@"label frame: %@",NSStringFromCGRect(label.frame));
[self addSubview:label];
}
NSLog(@"self frame: %@",NSStringFromCGRect(self.frame));
这是正在发生的事情:
虽然这是我想要实现的目标:
【问题讨论】:
-
嗨@StuartM,当您记录各个标签帧时,您看到了什么?为什么要把它们都放在 {0,0} 点上?
标签: ios ios7 uitableview uiview uilabel