uiview
,它受autolayout
约束调整大小。uiimageview
,我将其插入为subview
,然后在数据库中存储了从前缘/后缘/顶部/底部边缘到uiview
超级视图的距离。 另一个注意事项是原始uiimageview
可以进行转换和翻译,因此CGPoint
,CGAffineTransform
和CGRect
也可以保存。 uiimageview
,以复制插入的原始uiimageview
。我添加约束的原因是uiimageview
会按比例适应uiview
大小的变化。
我的问题是我的代码有些古怪,我无法解决为什么我无法根据已存储,提取并重新应用的数据来复制原始uiimageview
。
当我以编程方式使用约束时,我无疑会迷路,不胜感激。
//Storing constraint constants of original uiimageview in original container uiview
let leadingConstraint = originalImageView.frame.minX
let trailingConstraint = oldContainer.frame.maxX - originalImageView.frame.maxX
let topConstraint = originalImageView.frame.minY
let bottomConstraint = oldContainer.frame.maxY - originalImageView.frame.maxY
//Fetching and applying constants to new uiimageview in new container uiview (Separate operation from the above! Above takes place first!)
newImageView.bounds = CGRect(x: 0, y: 0, width: 80, height: 80)
newImageView.center = CGPoint(x: saved.x, y: saved.y)
newImageView.transform = CGAffineTransform(a: saved.a, b: saved.b, c: saved.c, d: saved.d, tx: saved.tx, ty: gifForm.ty)
newContainer.insertSubview(newImageView, at: 0)
newImageView.translatesAutoresizingMaskIntoConstraints = false
let leadingConstraint = newImageView.leadingAnchor.constraint(equalTo: newContainer.leadingAnchor, constant: saved.leadingConstant)
let trailingConstraint = newImageView.trailingAnchor.constraint(equalTo: newContainer.trailingAnchor, constant: -saved.trailingConstant)
let topConstraint = newImageView.topAnchor.constraint(equalTo: newContainer.topAnchor, constant: saved.topConstant)
let bottomConstraint = newImageView.bottomAnchor.constraint(equalTo: newContainer.bottomAnchor, constant: -saved.bottomConstant)
NSLayoutConstraint.activate([leadingConstraint, trailingConstraint, topConstraint, bottomConstraint])
答案 0 :(得分:0)
尝试仅使用约束(将TypeError
设置为col = 'column_with_unserializable_type'
data_df_1[col] = data_df_1[col].map(lambda x: x.get_response)
)或不使用约束(保留translatesAutoresizingMaskIntoConstraints
)。
您不能同时使用两者,这意味着如果您打算使用约束,则不能使用false
之类的东西,而必须使用true
和.center
之类的对等物。
也不确定这是否只是疏忽大意,但是最后四行使用与上面相同的属性名称。