Ios 如何将UILabel重新定位到与另一个UILabel完全相同的位置
我试图将一个UILabel完全重新放置在另一个UILabel相同的位置上。它没有将自身准确定位在目标标签上方 请参阅下面的代码Ios 如何将UILabel重新定位到与另一个UILabel完全相同的位置,ios,swift,xcode,uilabel,Ios,Swift,Xcode,Uilabel,我试图将一个UILabel完全重新放置在另一个UILabel相同的位置上。它没有将自身准确定位在目标标签上方 请参阅下面的代码 let element1yPosition = element1.frame.origin.y. // Element 1 y Position let element2yPosition = element2.frame.origin.y. // Element 2 y Position UIView.animate(withDuration: 1.0, anim
let element1yPosition = element1.frame.origin.y. // Element 1 y Position
let element2yPosition = element2.frame.origin.y. // Element 2 y Position
UIView.animate(withDuration: 1.0, animations: {
element1.frame.origin.y = element2yPosition // Repositioning stage.
//Fails because Element 1 doesn't re-position itself in the exact same position as Element 2 as required.
})
你能试试吗
UIView.animate(withDuration: 1.0, animations: {
element1.frame = element2.frame
})
element1.frame.origin.y是结构中的一个数字。元素1不知道他的框架。起源。y改变了。 如果要更改UIView的位置,应更改其帧、中心和变换 在Objective-C中,这是错误的 这是正确的方法:
更改元素1.frame而不是原始使用自动布局。添加此self.element1.translatesAutoResizingMackinToConstraints=false,然后使用元素1.frame=element2.frame更改框架更新布局时不要忘记使用所需的布局