尝试自动调整两个标签在单元格内垂直对齐的尺寸,这可能吗?
在storyboard
中,我们必须设置autolayout
,因为我想自动调整两个标签的大小(一个在另一个标签之上)。
我无法设置每个高度,因此故事板不知道这两个标签的高度是多少,因此它显示autolayout
的错误。
如果单击“添加缺失约束”按钮,它将为“副标题”添加高度
或者我可以设置“标题”的高度而不是“副标题”,
或使“title”等于“subtitle”,它仍然会接受。
结果如下:
解决方法是将这两个单独分隔到不同的单元格。 更好的解决方案?或者我只是忘记做任何事情?
P.S。我正在使用Xcode 8和iOS 10.3。
答案 0 :(得分:3)
尝试为两个标签设置正确的约束 - :
<强>故事板 - :强>
第一个label
的约束 - :
第二个label
的约束 - :
控制器类(使用table view
的自动维度) - :
class ViewController1: UIViewController {
var dataForTableView:[ProductImage]?
@IBOutlet weak var secondTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
secondTable.estimatedRowHeight = 96
secondTable.rowHeight = UITableViewAutomaticDimension
// CHECK FOR DATA
//print(dataForTableView?[0].url as Any)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension ViewController1 : UITableViewDelegate,UITableViewDataSource{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell1") as! testingCell2
cell.backgroundColor = UIColor.blue;
cell.secondLabel.text = "agfhjsgfhjsgdshgfhjsfjhvhssajs hjfbvhjfbvjhfgafgfhlgkaghkfakfhkflbvhfbvhfvbhfv ah fvfhbvfjhvbfhdavhfvhv"
return cell
}
// Number of sections in table
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}// Default is 1 if not implemented
public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat{
return UITableViewAutomaticDimension
}
}
<强>输出 - :强>
我希望这就是您所寻找的,如果有任何问题,请告诉我。谢谢