Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将UILabel重新定位到与另一个UILabel完全相同的位置_Ios_Swift_Xcode_Uilabel - Fatal编程技术网

Ios 如何将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

我试图将一个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, 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更改框架更新布局时不要忘记使用所需的布局