Ios 在swift中以编程方式设置约束
我通过编程设置了一些图像,但是图像没有达到屏幕的全宽。也许是因为图像没有那么大?有没有办法让我的3张图片更局限于屏幕的右侧(见附图) 如果将Ios 在swift中以编程方式设置约束,ios,swift,xcode,Ios,Swift,Xcode,我通过编程设置了一些图像,但是图像没有达到屏幕的全宽。也许是因为图像没有那么大?有没有办法让我的3张图片更局限于屏幕的右侧(见附图) 如果将常量:40添加到约束中,则会调整较大屏幕尺寸的宽度,但随后会使较小屏幕尺寸的宽度大于屏幕尺寸 以下是我设置图像的方式: // creating an image private lazy var backgroundImage: UIImageView = { let backgroundImage = UIImageView()
常量:40
添加到约束中,则会调整较大屏幕尺寸的宽度,但随后会使较小屏幕尺寸的宽度大于屏幕尺寸
以下是我设置图像的方式:
// creating an image
private lazy var backgroundImage: UIImageView = {
let backgroundImage = UIImageView()
backgroundImage.translatesAutoresizingMaskIntoConstraints = false
return backgroundImage
}()
将contentMode设置为ScaleSpectFill或ScaleSpectFit使用该工具确定图像视图的大小。这将帮助您确定问题是否在于图像视图的大小、超级视图的大小、内容模式等,从而消除猜测。我敢打赌,这是因为您在屏幕实际加载之前初始化了这些变量。你在哪里调用这些函数?如果它位于可重用的单元格中,我会在cellForItemAt方法期间尝试设置大小。
// setting up cosntraints for image
private func setupConstraints(){
let margins = layoutMarginsGuide
NSLayoutConstraint.activate([
backgroundImage.topAnchor.constraint(equalTo: margins.topAnchor),
backgroundImage.leadingAnchor.constraint(equalTo: margins.leadingAnchor),
backgroundImage.trailingAnchor.constraint(equalTo: margins.trailingAnchor),
backgroundImage.bottomAnchor.constraint(equalTo: margins.bottomAnchor)
])
}