我正在寻找创建一个扩展功能来嵌套并将其组合成1个对象。我想要uiview在底部,而uiimageveiw在顶部。因此,当用户调用该函数时,它将对该组合对象做出反应。由于两个对象都位于完全相同的位置,因此它应该起作用。

var grant = UIImageView()
var drawPlace = UIView()

viewdidload(){
NSLayoutConstraint.activate ([
    drawPlace.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :150),
    drawPlace.topAnchor.constraint(equalTo: view.centerYAnchor, constant : -100),
    drawPlace.widthAnchor.constraint(equalToConstant: 300),
    drawPlace.heightAnchor.constraint(equalToConstant: 300),

    grant.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :150),
    grant.topAnchor.constraint(equalTo: view.centerYAnchor, constant : -100),
    grant.widthAnchor.constraint(equalToConstant: 300),
    grant.heightAnchor.constraint(equalToConstant: 300),

])}

最佳答案

根据我的答案here

我的澄清答案是here

(是的,我知道知道有一个更好的解释,但这是一个漫长的回答)
我只链接到自己的帖子,因为OP都接受了这两个答案,因此我假设他将在他的应用程序中使用这些扩展名。

如果drawPlace和grant是self.view的subView,则在drawPlace的位置截取self.view的屏幕截图

另一个选择是将Grant添加为drawPlace的子视图,然后截取带有自己边界的drawPlace屏幕截图。

10-05 22:39