NSLayoutConstraint:在需要时调整视图大小

马修·里格勒

我有2个“姐妹视图”位于同一个父视图中,一个位于另一个(正在讲Y)之上。

第一个是屏幕的尺寸,下面的是屏幕底部的尺寸。
在动画上,底视图会升高并显示在屏幕上。

此动画应减小上方视图的高度。

我以为可以用NSLayoutConstraint,但我无法工作。

现在我有以下内容:

let constraintString : String = String(format: "V:[tranlucentView][buttonContainer(%lg)]", buttonHeight * countOfButtons)

let viewsDict:NSDictionary = ["tranlucentView" : self.translucentView, "buttonContainer" : self.buttonContainer]
var constraints : NSArray = NSLayoutConstraint.constraintsWithVisualFormat(constraintString, options: NSLayoutFormatOptions(0), metrics: nil, views: viewsDict)
self.view.addConstraints(constraints)

那就是我得到的错误:

Probably at least one of the constraints in the following list is one you don't want. Try 

this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0x198f6530 V:[UIView:0x198ef880]-(0)-[UIView:0x177b11e0]>",
    "<NSLayoutConstraint:0x198f6600 V:[UIView:0x177b11e0(0)]>",
    "<NSAutoresizingMaskLayoutConstraint:0x19f7f7f0 h=--& v=--& UIView:0x198ef880.midY == + 284>",
    "<NSAutoresizingMaskLayoutConstraint:0x1983e4c0 h=--& v=--& V:[UIView:0x198ef880(568)]>",
    "<NSAutoresizingMaskLayoutConstraint:0x19f7f260 h=--& v=--& UIView:0x177b11e0.midY == + 472>"
)

对我的问题有什么建议吗?

马修·里格勒

我自己找到了解决方案:

我需要translatesAutoresizingMaskIntoConstraintsfalse我上,以允许其调整大小。

另外,我需要为其宽度添加一个约束,否则宽度将变为0。

让constraintString:字符串=字符串(格式:“ V:| [tranlucentView] [buttonContainer(%lg)] |”,buttonHeight * countOfButtons)

self.translucentView.setTranslatesAutoresizingMaskIntoConstraints(false)
let viewsDict:NSDictionary = ["tranlucentView" : self.translucentView, "buttonContainer" : self.buttonContainer]

self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(constraintString, options: NSLayoutFormatOptions(0), metrics: nil, views: viewsDict))

self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[tranlucentView]|", options: NSLayoutFormatOptions(0), metrics: nil, views: viewsDict))    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

旋转时调整呈现视图的大小

来自分类Dev

当设备方向改变时调整 PDF 视图的大小

来自分类Dev

同时调整 JPanel 大小时调整图像大小

来自分类Dev

在运行时调整 UIStackView 中的视图大小以填充剩余的屏幕大小

来自分类Dev

调整窗口高度时调整图像的大小

来自分类Dev

调整窗口高度时调整图像的大小

来自分类Dev

Xcode 6.0 / 6.1 Interface Builder会在单击角部夹点以调整大小时调整视图的大小以适合整个内容

来自分类Dev

当非全屏时,如何获取MPMoviePlayerController的视图以在旋转时调整大小

来自分类Dev

选择不同的更少/更多值时调整数据透视图的大小

来自分类Dev

选择不同的更少/更多值时调整数据透视图的大小

来自分类Dev

当非全屏时,如何获取MPMoviePlayerController的视图以在旋转时调整大小

来自分类Dev

React Native - 如何在运行时调整视图大小并重新渲染页面

来自分类Dev

NSWindow调整大小时调整表列大小

来自分类Dev

在调整容器大小时调整传单图的大小

来自分类Dev

调整表单大小时调整组件大小

来自分类Dev

调整div大小时调整字体大小

来自分类Dev

HTML,CSS:在调整大小的同时调整IMG的大小

来自分类Dev

在Android中调整背景大小时调整按钮的大小

来自分类Dev

滚动事件时调整菜单大小

来自分类Dev

使用相位器时调整tiledmap的大小

来自分类Dev

创建新行时调整UICollectionView的大小

来自分类Dev

旋转内容时调整div的大小

来自分类Dev

出现键盘时调整UITextView的大小(快速)

来自分类Dev

通过时调整多维数组的大小

来自分类Dev

Codeigniter文件在上载时调整大小

来自分类Dev

Bootstrap Popover临时调整表大小

来自分类Dev

出现键盘时调整UITextView的大小

来自分类Dev

在保持宽高比的同时调整QPixmap的大小

来自分类Dev

Delphi:在移动时调整Winapi窗口的大小

Related 相关文章

  1. 1

    旋转时调整呈现视图的大小

  2. 2

    当设备方向改变时调整 PDF 视图的大小

  3. 3

    同时调整 JPanel 大小时调整图像大小

  4. 4

    在运行时调整 UIStackView 中的视图大小以填充剩余的屏幕大小

  5. 5

    调整窗口高度时调整图像的大小

  6. 6

    调整窗口高度时调整图像的大小

  7. 7

    Xcode 6.0 / 6.1 Interface Builder会在单击角部夹点以调整大小时调整视图的大小以适合整个内容

  8. 8

    当非全屏时,如何获取MPMoviePlayerController的视图以在旋转时调整大小

  9. 9

    选择不同的更少/更多值时调整数据透视图的大小

  10. 10

    选择不同的更少/更多值时调整数据透视图的大小

  11. 11

    当非全屏时,如何获取MPMoviePlayerController的视图以在旋转时调整大小

  12. 12

    React Native - 如何在运行时调整视图大小并重新渲染页面

  13. 13

    NSWindow调整大小时调整表列大小

  14. 14

    在调整容器大小时调整传单图的大小

  15. 15

    调整表单大小时调整组件大小

  16. 16

    调整div大小时调整字体大小

  17. 17

    HTML,CSS:在调整大小的同时调整IMG的大小

  18. 18

    在Android中调整背景大小时调整按钮的大小

  19. 19

    滚动事件时调整菜单大小

  20. 20

    使用相位器时调整tiledmap的大小

  21. 21

    创建新行时调整UICollectionView的大小

  22. 22

    旋转内容时调整div的大小

  23. 23

    出现键盘时调整UITextView的大小(快速)

  24. 24

    通过时调整多维数组的大小

  25. 25

    Codeigniter文件在上载时调整大小

  26. 26

    Bootstrap Popover临时调整表大小

  27. 27

    出现键盘时调整UITextView的大小

  28. 28

    在保持宽高比的同时调整QPixmap的大小

  29. 29

    Delphi:在移动时调整Winapi窗口的大小

热门标签

归档