Ios 单元格内的视图在所有设备中具有相同的宽度,但单元格的宽度不同

Ios 单元格内的视图在所有设备中具有相同的宽度,但单元格的宽度不同,ios,swift,Ios,Swift,我使用的是表格视图和给定的约束条件(顶部、letf、右侧、底部),其打印宽度在所有设备中相同,但在所有设备中单元格宽度不同。 但问题是,我在单元格内进行了查看,并再次给出了相同的约束条件(顶部、左侧、右侧、底部),并且在所有设备中打印时的视图宽度都是相同的。怎么可能呢?我的单元格宽度不同,其内容视图在所有设备中的宽度相同? 请给我解释一下,我缺少什么?按照下面的图片。 对于在单元格内拍摄的视图,可能没有使用自动调整大小的约束 具有红色背景的视图具有约束,并且自动调整大小子视图标记在情节提要上

我使用的是表格视图和给定的约束条件(顶部、letf、右侧、底部),其打印宽度在所有设备中相同,但在所有设备中单元格宽度不同。 但问题是,我在单元格内进行了查看,并再次给出了相同的约束条件(顶部、左侧、右侧、底部),并且在所有设备中打印时的视图宽度都是相同的。怎么可能呢?我的单元格宽度不同,其内容视图在所有设备中的宽度相同? 请给我解释一下,我缺少什么?

按照下面的图片。 对于在单元格内拍摄的视图,可能没有使用自动调整大小的约束

具有红色背景的视图具有约束,并且自动调整大小子视图标记在情节提要上

它仍然像这样展示

重写func awakeFromNib(){ super.awakeFromNib()

func CreateDynamicLabelOnView(px:CGFloat,view:UIView,array:NSMutableArray,textColor:UIColor,backgroundColor:UIColor){

var-px:CGFloat=2.0
var tx:CGFloat?
枚举对象({(obj,idx,stop)在
var width=(obj as!String).字符串宽度(使用字体:UIFont(名称:“Times New Roman”,大小:13.0)!)
如果宽度<30.0{
宽度=45.0
}
打印(宽度)
打印(px)
打印(视图、边框、尺寸、宽度)
tx=px+宽度
打印(tx!)
//如果宽度
您使用的是自动布局吗?是的,它在故事板中被标记。我必须以编程方式为视图提供与单元格默认内容视图相等的宽度。请查看上面的图片,所有设备中的单元格都是自行调整的。
    //Corner Radius to cell contnt view
    view_ContentView.layer.cornerRadius = 10.0
    view_ContentView.layer.borderColor = UIColor.lightGray.cgColor
    view_ContentView.layer.borderWidth = 1.5
    view_ContentView.clipsToBounds = true
    view_SubServices.backgroundColor = UIColor.red
   self.CreateDynamicLabelOnView(px: 2.0, view: view_SubServices, array: ["Hair Trimming" ,"Hair Color","Dry Cleaning","Boutique","Washing"],textColor:UIColor.white,backgroundColor: Common.k_Purple)

}
    var px:CGFloat = 2.0
    var tx:CGFloat?


    array.enumerateObjects({ (obj, idx, stop) in

        var width =  (obj as! String).widthOfString(usingFont: UIFont(name: "Times New Roman", size: 13.0)!)

        if width < 30.0{
            width = 45.0
        }

         print(width)
         print(px)
         print(view.frame.size.width)
            tx = px  + width
         print(tx!)
        //            if width < view.frame.size.width && tx! < view.frame.size.width {
        if tx! < view.frame.size.width {

            let label = UILabel(frame:CGRect(x: px, y: 2.0, width: width , height: 25.0))
            label.backgroundColor = backgroundColor
            label.textColor = textColor
            label.textAlignment = .center
            label.font = UIFont(name: "Times New Roman", size: 12.0)
            label.layer.cornerRadius = 9.0
            label.text = array[idx] as? String
            label.adjustsFontSizeToFitWidth = true
            label.clipsToBounds = true
            view.addSubview(label)

            px = px  + label.frame.size.width + 5
        }
        else{
            stop.pointee = true
        }


    })

}