Ios 如何在单个tableview单元格中以相等的宽度、边和空间显示两个文本字段
我想在一个tableview单元格中显示两个文本字段,并在它们之间加上分隔符。这两个文本字段与边和分隔符的空间相等。我想用Swift语言在tableview单元格类中以编程方式创建它 我希望这是适合所有尺寸的设备 注意:我没有使用自动布局Ios 如何在单个tableview单元格中以相等的宽度、边和空间显示两个文本字段,ios,swift,xcode,uitableview,Ios,Swift,Xcode,Uitableview,我想在一个tableview单元格中显示两个文本字段,并在它们之间加上分隔符。这两个文本字段与边和分隔符的空间相等。我想用Swift语言在tableview单元格类中以编程方式创建它 我希望这是适合所有尺寸的设备 注意:我没有使用自动布局 有什么建议吗 我强烈建议您使用UIStackViews,因为它听起来像是解决您问题的完美用例 文档中UIStackView的定义: 一个简化的界面,用于在任意一个 列或行 它可以处理视图的大小调整行为,还可以轻松控制元素之间的边距和间距。 您可以将uistac
有什么建议吗 我强烈建议您使用
UIStackViews
,因为它听起来像是解决您问题的完美用例
文档中UIStackView的定义:
一个简化的界面,用于在任意一个
列或行
它可以处理视图的大小调整行为,还可以轻松控制元素之间的边距和间距。
您可以将uistackview
与故事板一起使用,也可以根据您要查找的内容以编程方式使用
您可能还需要阅读文档中的指南,以了解有关uistackview
的更多信息
如何使用:
假设您有两个文本字段,textFieldA
,textFieldB
和名为separatorView
的分隔符视图
以下是如何在UITableViewCell
子类中以编程方式设置UIStackViews
:
// Create and configure your stack view
let stackView = UIStackView()
stackView.axis = UILayoutConstraintAxis.horizontal
stackView.distribution = UIStackViewDistribution.fillProportionally
stackView.alignment = UIStackViewAlignment.fill
stackView.spacing = 20.0
// Add your textfields and your separator view to the stack view
stackView.addArrangedSubview(textFieldA)
stackView.addArrangedSubview(separatorView)
stackView.addArrangedSubview(textFieldB)
stackView.translatesAutoresizingMaskIntoConstraints = false
// Add your stack view:
self.addSubview(stackView)
// Configure the constraints for your stack view
// (Of course you can set up your stack view the way you want and you don't have to absolutely use constraints, but it's just for the example)
stackView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -20).isActive = true
stackView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 20).isActive = true
stackView.topAnchor.constraint(equalTo: self.topAnchor, constant: 20).isActive = true
stackView.heightAnchor.constraint(equalToConstant: 200.0).isActive = true
这将为您节省大量时间,因为您不需要为所有视图到处添加约束,而只需要为堆栈视图添加约束。然后,堆栈视图将处理其排列的子视图
在您的情况下,您可能需要更改视图的拥抱和压缩阻力值,以确保它在任何屏幕上看起来都很棒
正如您所看到的,您可以在堆栈视图上设置许多属性,所以您可以随意尝试不同的值,并按照您喜欢的方式进行设置 使用堆栈视图,轴水平,分布等于按比例填充self.rightanch、self.leftAnchor、self.topAnchor对于这些,我能给什么?你可以给它任何你想给它的值,这取决于你需要多少像素的边距/等等,所以这完全取决于你。你说它不符合你的要求是什么意思?你能说得更具体些吗?我认为您不应该期望得到一个答案,即给出一个包含所有内容的完整代码,而应该给出提示和技巧,向您展示如何解决问题。因为所有的值(间距、左、右锚定常量等)实际上都取决于您的实现以及您希望应用程序的外观:)。您可以尝试使用这些值,看看它如何适合您的问题,当然,如果有什么不符合预期,请随时询问我!谢谢@Alex,但问题是我没有使用自动布局。不客气!您不使用自动布局是什么意思?如何配置视图?:)