【问题标题】:Layout options in UITableView (iPhone)? Or extend UIScrollView?UITableView(iPhone)中的布局选项?还是扩展 UIScrollView?
【发布时间】:2009-02-23 03:59:03
【问题描述】:

我是 Objective-C 和 iPhone 编码的新手,希望有人能帮助我。

基本上我想要一个显示该项目名称和数量的可滚动表。例如: 苹果............2
橙子......4
香蕉......5

我希望名称左对齐,数字右对齐。

有什么方法可以用 UITableView 来做到这一点,或者我需要扩展 UIScrollView 吗?

提前致谢。

【问题讨论】:

    标签: iphone uitableview layout uiscrollview


    【解决方案1】:

    cell.text 设置为“苹果”。然后创建一个带有文本“2”的新 UILabel 视图并将其分配给cell.accessoryView

    文本总是在左边,附件视图总是在右边。如果您选择添加一个,cell.image 中的 UIImage (可选)将显示在单元格文本的左侧。

    如果您的单元格布局比这更复杂,则必须手动将子视图添加到您的单元格。

    【讨论】:

    • 我认为“单元布局核心复杂”应该是“单元布局更复杂”:)
    【解决方案2】:

    一个不太难的选择是使用一个标签作为文本标签和一个标签作为数字标签子类化 UITableViewCell,然后只需设置标签值。

    如果您想要显示的...,那么您可以使用标准 UITableViewCell 并编写一些代码来提供已预先修改以适合分配的空间的单元格文本。

    【讨论】:

      【解决方案3】:

      您可以简单地使用 Apple 已经提供的另一个 CellType 并更改 detailTextLabel 的颜色:

      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
      {
          static NSString *CustomCellIdentifier = @"Cell";
          UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CustomCellIdentifier];
          cell.textLabel.text = @"Apples";
          cell.detailTextLabel.text = @"2";
          cell.detailTextLabel.textColor = [UIColor blackColor];
          return cell;
      }
      

      无需自己为子类化或添加标签而烦恼。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-27
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 2013-06-24
        • 1970-01-01
        • 2017-10-24
        • 2017-09-04
        相关资源
        最近更新 更多