2

我想将标签子视图添加到 UITableViewCell。我可以轻松地将框架原点和大小设置为特定值,但是如何使用当前/默认单元格标签高度和位置?

  UILabel *labPerHour;

  cell.textLabel.text       = @"Rate";

  labPerHour = [[UILabel alloc] init];

  //labPerHour.frame = CGRectMake( 280, cell.textLabel.frame.origin.y, 80, cell.textLabel.frame.size.height );
  labPerHour.frame = CGRectMake( 260, 7, 30, 30 );
  labPerHour.text  = @"$/hr";


  [cell addSubview:labPerHour];

我希望注释掉的行起作用..或类似的东西。

有人可以帮忙吗?这段代码当然是我的 cellForRowAtIndexPath 方法的一部分。

4

4 回答 4

1

我不知道。也许它会起作用。这个我没试过!!

CGRect theFrame = cell.textLabel.frame;
theFrame.origin.x = 280;
theFrame.size.width = 80;
labPerHour.frame = theFrame;
于 2012-07-31T09:52:02.120 回答
1

如果您尝试获取 uitable view 的默认标签框架,那么您可以试试这个

CGRect myframe;
myframe= cell.textlabel.frame;

现在根据需要使用它

于 2012-07-31T09:54:22.693 回答
1

您需要提供相对于超级视图坐标系的坐标。这些坐标需要有意义,因此您的标签仍然位于单元格的框架内,而不是在它之外。

因为每个视图和窗口都定义了自己的局部坐标系,所以您需要知道在任何给定时间哪个坐标系有效。每次绘制视图或更改其几何图形时,都是相对于某个坐标系进行的。在绘图的情况下,您指定相对于视图自己的坐标系的坐标。在几何变化的情况下,您指定相对于超级视图坐标系的坐标。UIWindow 和 UIView 类都包含帮助您从一个坐标系转换到另一个坐标系的方法。

View Programming Guide for iOS的“View Geometry and Coordinate Systems”部分。

于 2012-07-31T09:55:15.597 回答
1

您需要首先设置您的单元格标签框架。

cell.textLabel.frame = CGRectMake(0, 0, 40, 10);
于 2012-07-31T11:24:56.150 回答