【问题标题】:How do i set width to Custom UITableViewCell如何将宽度设置为自定义 UITableViewCell
【发布时间】:2016-12-10 11:22:17
【问题描述】:

我想将自定义 UITableViewCell 的宽度设置为屏幕宽度的 80%,但我知道可以使用“layoutSubviews()”方法来操作单元格的大小,但我不知道如何操作。

请帮帮我。

【问题讨论】:

  • 您可以在填充 80 % 的自定义单元格中查看,并设置内容视图颜色 = 清除颜色
  • 您可以在故事板中完成。而不是告诉至少写下你尝试过的代码。
  • 您不能告诉我们为您编写代码,如果有任何错误,您必须提供一些代码 sn-p,然后我们可以提供帮助。请查看 StackOverflow 上的操作方法。
  • @user5744323 覆盖 var 框架。

标签: ios uitableview swift2 width cell


【解决方案1】:

UIView 拖放到您的content viewcell(即在单元格中)。根据您的需要调整它的高度和宽度,如您所说的 80%(所以要明智地提供填充)。如果您使用自动布局,则设置 top,bottom,leading and trailing 约束。

您可以将 contentview 的背景颜色设置为清晰的颜色,并将单元格的背景设置为清晰的颜色或您想要的颜色。同样,您也可以设置 tableview 的背景颜色!

【讨论】:

    【解决方案2】:
    class CustomTVC: UITableViewCell {
    
        override var frame: CGRect {
            get {
                return super.frame
            }
            set (newFrame) {
                var frame = newFrame
                frame.size.width = UIScreen.mainScreen().bounds.width * 0.8
                super.frame = frame
            }
        }
    }
    

    【讨论】:

      【解决方案3】:

      答案太简单了。只需更改类中单元格的框架即可。

      class CustomCell: UITableViewCell {
      
      
          override var frame: CGRect {
              get {
                  return super.frame
              }
              set (newFrame) {
                  var frame = newFrame
                  let newWidth = frame.width * 0.80 // get 80% width here
                  let space = (frame.width - newWidth) / 2
                  frame.size.width = newWidth
                  frame.origin.x += space
      
                  super.frame = frame
      
              }
          }
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-10
        • 2014-08-13
        • 1970-01-01
        • 2015-12-18
        • 2020-09-22
        相关资源
        最近更新 更多