我为表视图创建了一个自定义单元格,除了我的图像视图无法正确对齐外,它工作正常。
有没有办法向自定义单元格视图添加约束?以编程方式还是其他方式?
这就是我的单元格在故事板中的样子 - 这是我希望在运行时实现的:
但是,当我演示应用程序时,会发生这种情况:
这是故事板中的另一张图片:
SELECT ... FROM table 1 LEFT JOIN table 4 (left join with table 5 with table 4???)
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
println(questions)
println(finalResults)
let theWidth = view.frame.size.width
let theHeight = view.frame.size.height
tableView.frame = CGRectMake(0,0, theHeight, theWidth)
}
答案 0 :(得分:6)
您只需要正确设置约束。事实上,即使Add Missing Constraints
和Reset to Suggested Constraints
有用也有时他们不知道你想要什么,因此结果并不总是你所期望的。
您可能想要做的是以下内容。
对于您的问题标签,将其设置在其容器的中心Y,并将其设置为超级视图的前导空间。像这样:
然后对于你的图像,你也想把它设置在它的容器的中心Y,并在它上面设置1:1的比例。像这样:
请注意,如果您不希望图像升级(如果您在某些设备上设置较大的单元格),则可能还需要检查width
和height
。
你现在应该有类似的东西:
结果:
如果有帮助,请告诉我。
PS:我没有你的图像,所以我只是在uiimageview上设置背景颜色
答案 1 :(得分:0)
假设您开始使用视图控制器,将表格和单元格拖到表格中......
ViewController中的:UIViewController ... {
@IBOutlet weak var resultsTable: UITableView! // connect to tableView
override func viewDidLoad() {
super.viewDidLoad()
let theWidth = view.frame.size.width
let theHeight = view.frame.size.height
resultsTable.frame = CGRectMake(0,0, theWidth, theHeight)
}
}
在UITableViewCell文件中:
@IBOutlet weak var imageView: UIImageView!
override func awakeFromNib() {
let theWidth = UIScreen.mainScreen().bounds.width
contentView.frame = CGRectMake(0,0 theWidth, 64)
imageView.center = CGPointMake(115, 15) //mess around with these #
}