【问题标题】:TableViewCells width in iPhoneiPhone中的UITableViewCell宽度
【发布时间】:2010-03-02 11:32:19
【问题描述】:

我正在尝试在 tableview 上创建一个单元格,它不会从屏幕的左到右“一直”走。

基本上,我需要的是一个单元格,它(像往常一样)从屏幕左侧开始,但具有给定的宽度,在右侧创建一个空闲空间。

有什么办法吗?我找不到任何示例。

很抱歉最后提出的菜鸟问题,提前非常感谢。

【问题讨论】:

    标签: iphone objective-c xcode uitableview


    【解决方案1】:

    在旧版本的 SDK 中,这可以使用 initWithFrame:reuseIdentifier: 方法实现,但自 3.0 起已弃用,因此您应该使用 initWithStyle:reuseIdentifier: 方法创建 UITableViewCell

    您可以使用frame 属性访问UITableViewCell 的框架并更改其大小:

    CGRect frame = cell.frame;
    frame.size.width = 123f;
    cell.frame = frame;
    

    对于左侧的缩进,您可以简单地使用UITableViewDelegate 方法tableView:indentationLevelForRowAtIndexPath:

    您还可以使用单元格的附件视图属性将特定的子视图添加到右侧的UITableViewCell(附件视图):

    UIView *view = ...
    cell.accessoryView = view;
    

    (如果这个属性的值不是nil,UITableViewCell类在table view的正常(默认)状态下使用给定的视图作为辅助视图;它会忽略accessoryType属性的值。提供的辅助视图可以是框架提供的控件或标签或自定义视图。辅助视图显示在单元格的右侧。UITableViewCell Class Reference)

    【讨论】:

    • 使用 CGRect frame = cell.frame;框架.大小.宽度 = 123f; cell.frame = 框架;并为我的单元格定义背景颜色,单元格保持相同的大小,鄙视我用于其框架的值。此外,像这样调整我的单元格大小不会阻止单元格分隔符在表格右侧显示它的丑陋面孔,不是吗?我试图调整整个视图的大小,但它使索引“缩小”,我不希望这样,只有单元格(和分隔符)。我看到做我想做的唯一方法是定义一个图像作为我的单元格的分隔符,并将其定义为背景。
    • 您还可以更改表格视图的样式,使其不使用分隔符 (tableView.separatorStyle = UITableViewCellSeparatorStyleNone),并将您自己的分隔符添加为 UIImageView 作为单元格的子视图 ([cell addSubview:...];)。
    • 是的,我就是这么做的。为了设置我想要大小的单元格背景,我在单元格中插入了一个标签,并修改了它的背景。它不是“干净”,但它有效......
    猜你喜欢
    • 2011-06-21
    • 2014-12-24
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多