微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocoa iOS / Touch:保持UITableViewCell contentView的子视图右对齐

如何解决Cocoa iOS / Touch:保持UITableViewCell contentView的子视图右对齐

| 假设我有一个UITableView 是iPad应用程序的一部分 不使用整个屏幕 更改宽度,具体取决于应用程序的状态和其他视图 我在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
中的ѭ1设为1,我认为:
label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth;
这里是文档。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。