【发布时间】:2015-12-11 01:01:54
【问题描述】:
我遇到的问题是 UIView 以某种方式获得了不需要的填充。似乎 UIView 框架根据 UIImage 高度调整自身大小。
These are my constraints on the UIView
单元格配置:
// Configure the cell...
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: cell.testView.frame.width, height: cell.testView.frame.height))
imageView.image = UIImage(named: "eiffel.JPG")
imageView.autoresizingMask = .FlexibleWidth
imageView.contentMode = .ScaleAspectFit
imageView.center = cell.testView.center
imageView.clipsToBounds = true
imageView.translatesAutoresizingMaskIntoConstraints = false
cell.testView.addSubview(imageView)
let bottomMarginConstraint = NSLayoutConstraint(item: imageView, attribute: .Bottom, relatedBy: .Equal, toItem: cell.testView, attribute: .Bottom, multiplier: 1, constant: 0)
let topMarginConstraint = NSLayoutConstraint(item: imageView, attribute: .Top, relatedBy: .Equal, toItem: cell.testView, attribute: .Top, multiplier: 1, constant: 0)
let trailingMarginConstraint = NSLayoutConstraint(item: imageView, attribute: .Left, relatedBy: .Equal, toItem: cell.testView, attribute: .Left, multiplier: 1, constant: 0)
let leadingMarginConstraint = NSLayoutConstraint(item: imageView, attribute: .Right, relatedBy: .Equal, toItem: cell.testView, attribute: .Right, multiplier: 1, constant: 0)
//let widthConstraint = NSLayoutConstraint(item: imageView, attribute: .Width, relatedBy: .Equal, toItem: .None, attribute: .NotAnAttribute, multiplier: 1, constant: imageView.superview!.frame.width)
let constraints = [bottomMarginConstraint, topMarginConstraint, leadingMarginConstraint, trailingMarginConstraint]
cell.testView.addConstraints(constraints)
UIView 是浅绿色背景的,而 Cell 是粉红色背景的。
【问题讨论】:
标签: ios swift uiview uiimageview autolayout