【问题标题】:Swift : How to center cell textSwift:如何使单元格文本居中
【发布时间】:2016-09-13 07:30:12
【问题描述】:

我的 swift APP 有问题。

在我写的 TableViewCell 函数中

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath:indexPath) as MyCell
cell.setMyCell(self.data[0]["content"]!) 

如果我写了

cell.textAlignment red line appear and say "textAlignment in unavailable: API deprecated"

【问题讨论】:

  • 大概你的单元格上有一个标签,你想对齐标签中的文本,而不是整个单元格...
  • 您是否阅读了 textAligment 上的文档以供 UITableViewCell 使用:“弃用声明而是设置分配给 textLabel 和 detailTextLabel 属性的 UILabel 对象的文本对齐方式。”将对齐应用到想要的UILabel,而不是单元格。
  • 我没看过。感谢您的意见。我解决了。
  • @AntonelloRossi:通常,当一个方法被弃用时,文档会说明如果可用的话应该使用什么新方法。如果没有,通常会有关于这个问题的 SO 问题。

标签: swift uitableview cell text-alignment


【解决方案1】:

使用 Swift 4 的人的正确答案是:

cell.textLabel?.textAlignment = .center

【讨论】:

  • 如何在单元格中同时拥有图像和标签,如何将两者居中?
  • 您必须先将图像居中,然后在图像居中后将约束添加到标签
  • 上面的答案对我不起作用。有没有其他方法可以解决这个问题?
  • 必须尝试在情节提要中设置它?
【解决方案2】:

仅当您的 UITableViewCell 样式为 default 时才有效

Swift 4.1

cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "DefaultCell")
cell.textLabel?.textAlignment = .center

【讨论】:

    【解决方案3】:

    试试这个

     MyLabel1.textAlignment = NSTextAlignment.Center
    

    【讨论】:

    • 'textAlignment' is unavailable: APIs deprecated as of iOS 7 and earlier are unavailable in Swift
    【解决方案4】:

    我假设您在单元格上使用标签? 确保标签在单元格中居中,并为其提供足够大的宽度以满足您的需要。 然后可以使用两种方法,可以使用代码对齐标签:

    label.textAlignment = .Center
    

    或者您可以使用界面生成器进行更改:

    希望这会有所帮助!

    【讨论】:

    • 'textAlignment' is unavailable: APIs deprecated as of iOS 7 and earlier are unavailable in Swift
    猜你喜欢
    • 2014-07-01
    • 2011-11-30
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 2011-09-03
    • 2020-07-28
    • 2014-05-05
    • 2018-06-30
    相关资源
    最近更新 更多