[英]Cocoa iOS/Touch: Keeping a subview of the UITableViewCell contentView right-aligned
假设我有一个 UITableView
我在 UITableView 的单元格的 contentView 中添加了一个额外的子视图(比方说 UILabel)。 我希望 UILabel 的右边框始终与右单元格边框相距 10 个像素。
我设法通过在出列后专门设置单元格框架来为任何宽度的表格视图的初始绘制做到这一点,这也更新了 contentView 的宽度(否则单元格似乎一直是 320 像素宽)。
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID] autorelease];
CGRect oldFrame = cell.frame;
cell.frame = CGRectMake(oldFrame.origin.x, oldFrame.origin.y, tableview.frame.size.width, oldFrame.size.height);
/* and other stuff */
}
问题:当表格视图的大小在运行时发生变化时,如何使单元格的 contentView 的子视图与单元格的右边框对齐?
您可以尝试设置您的单元格autoresizingMask
及其autoresizesSubviews
属性吗?
可能这会起作用:
cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth;
cell.contentView.autoresizesSubviews = YES;
你还应该设置你的UILabel
的autoresizingMask
,我认为:
label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.