如何为指定的屏幕尺寸提供单独的高度和宽度约束,例如为 iphone 和 ipad 提供不同的约束?

how to give separate height and width constraint for specified screen size for eg giving different constraints for iphone and ipad?

let cell = tableview.dequeueReusableCell(withIdentifier: "cell1") as! viewTableViewCell
let head = titlelist[indexPath.row] as! String
cell.lbl.text = head.uppercased()    
if(UIScreen.main.bounds.size.height == 1366)
{
    cell.img.heightAnchor.constraint(equalToConstant: 216).isActive = true
    cell.img.widthAnchor.constraint(equalToConstant: 395).isActive = true
    self.view.updateConstraints()
}

我想在 cell.but 中更改我的 imageview img 的宽度和高度限制,这不是 updating.any 感谢帮助,谢谢。

你可以试试

cell.img.translatesAutoresizingMaskIntoConstraints = false

if UIDevice.current.userInterfaceIdiom == .pad {
    //iPad
    cell.img.heightAnchor.constraint(equalToConstant: 400).isActive = true
    cell.img.widthAnchor.constraint(equalToConstant: 500).isActive = true
} 
else if UIDevice.current.userInterfaceIdiom == .phone {
    //iPhone
    cell.img.heightAnchor.constraint(equalToConstant: 216).isActive = true
    cell.img.widthAnchor.constraint(equalToConstant: 395).isActive = true
} 

cell.img.topAnchor.constraint(equalTo: cell.contentView.topAnchor, constant: 5).isActive = true
cell.img.bottomAnchor.constraint(equalTo: cell.contentView.bottomAnchor, constant: 5).isActive = true
cell.img.centerXAnchor.constraint(equalTo: cell.contentView.centerXAnchor, constant: 5).isActive = true

这需要动态 table 高度

就像下图一样。 Select 你的约束可以说 'Width' 并且在 select 之后查看左侧打开的面板你会看到一个 + 按钮在 constant 之前只需点击它弹出up 将打开类似

的菜单
  • 宽度:紧凑
  • 身高:正常
  • 宽度:任意

这是给 iPhone 的。要为 iPad 创建另一个常量,只需将宽度形式 Compact 更改为 Regular

现在你的约束有两个常量变量。一个用于 iPhones,一个用于 iPads。根据您的要求分配不同的常量值。

PS: You should not change Height and Width from + is different thing. Compact Width and Regular Height means an iPhone and Regular Width and Regular Height means an iPad