Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.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/8/swift/16.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 在iphone 6/6 plus上更改高度约束时,UIView正在移动_Ios_Swift_Autolayout_Iphone 6_Iphone 6 Plus - Fatal编程技术网

Ios 在iphone 6/6 plus上更改高度约束时,UIView正在移动

Ios 在iphone 6/6 plus上更改高度约束时,UIView正在移动,ios,swift,autolayout,iphone-6,iphone-6-plus,Ios,Swift,Autolayout,Iphone 6,Iphone 6 Plus,我有一个UILabel内部UIView内部UIscroll。UILabel中的文本可以更改,因此我使用此方法来更改其高度约束 func recalculateHeight(){ l_info.sizeToFit(); lc_heightInfo.constant = l_info.frame.height; } 调用self.view.setNeedsLayout()之后,我在viewDidLoad()中调用了这个方法和self.view.layoutifneed()根据用户的

我有一个
UILabel
内部
UIView
内部
UIscroll
UILabel
中的文本可以更改,因此我使用此方法来更改其高度约束

func recalculateHeight(){
    l_info.sizeToFit();
    lc_heightInfo.constant = l_info.frame.height;
}
调用
self.view.setNeedsLayout()之后,我在
viewDidLoad()中调用了这个方法
self.view.layoutifneed()
根据用户的iPhone设置正确的宽度

在iPhone4S/5/5s上一切都很完美,但在iPhone6/6 plus上试用时,视图会被移动

这是iPhone 5s上的外观:

这就是它在iPhone 6/6 plus上的外观:

我搜索这个已经有一段时间了,没有发现任何类似的东西

编辑:

限制条件如下:

  • UIScrollView
    的顶部和
    UIImageView
    的顶部之间值=0
  • ui图像视图的高度
    值=128
  • UIImageView
    的底部和包含
    UILabel
    的顶部
    UIView
    之间值=7
  • 在顶部
    ui视图
    ui标签顶部
    之间值=17
  • ui标签的高度
    这是我正在更改的约束
  • ui标签的底部
    ui视图的底部
    之间值=17
  • UIView
    的底部和
    UIScrollView
    的底部之间值=7
  • 编辑2:

    我检查了
    UIImageView
    底部和
    UIView
    (数字3)之间的约束,调试器说它被设置为7。我试着从代码设置它,但什么也没发生

    我也进入了观景台,那里看起来很完美

    有什么想法吗?
    谢谢

    可能您的
    l_info.frame.height
    在所有设备上都保持不变,但标题imageView高度会发生变化

    检查如何设置
    lc\u heightInfo
    约束。它应该设置在(标签)容器视图和顶部的imageView之间。这样,您的容器视图将始终与顶部的imageView保持相同的距离


    或者,如果该图像视图不是滚动视图的一部分,则应在容器视图和滚动视图顶部之间设置一个约束,并为滚动视图顶部和标题图像视图设置一个约束。希望这有帮助:)

    图像视图是scrollview的一部分。我将编辑帖子并放置设置的约束。