ios - 如何在不修改其余约束的情况下在 View Controller 上插入元素?

标签 ios swift

我正面临一个让我浪费很多时间的问题。每次我在 View Controller(例如 UITextFieldUIButton 等)上插入一个元素时,我都会为其余元素设置约束在 View Controller 上,我必须删除所有约束并添加新的约束,因为新元素破坏了元素屏幕位置的结构(它也修改了所有约束)。

每次我必须在我的 Swift 应用程序的屏幕上更改某些内容时,我都会花费很多时间,因为每次我修改某些内容时,我都必须再次添加所有约束。

有没有一种方法可以插入一个元素而忽略其余元素,然后根据屏幕上的一个或多个元素定位这个新元素?或者在我正确设置之前约束将忽略新元素?或者一些类似的解决方法?

P.S:根据评论,好像我的问题不是很清楚,我补充一下:

  • 我在设计应用程序时尝试插入新元素。
  • 我正在使用 Main.storyboard 文件插入新元素。
  • 我将元素拖到 View Controller 中。
  • 我正在使用 XCode

提前致谢!

最佳答案

您仍然可以让 Xcode 为您创建约束,它在大多数情况下都可以正常工作。只需在菜单中选择:

Editor > Resolve AutoLayout Issues > Reset to suggested constraints

完成此操作后,您仍然可以更改一些约束以满足您的需要。


通常,您将所有 View 都放在 Controller 中,并仅在最后设置约束。

作为@Anand K mentioned , Stack views 是布局应用程序的好方法,而且 Apple 强烈鼓励使用它。

关于ios - 如何在不修改其余约束的情况下在 View Controller 上插入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39286463/

相关文章:

ios - 矩形交叉点的数量?

ios - 如何在 iOS 中为自定义后退按钮创建可重用代码

objective-c - 如何在 swift 3 中将类型 "any"转换为实物 "UnsafeMutablePointer<Int16>"

string - 在 Swift 中,如何检查对象 (AnyObject) 是否为字符串?

从 Swift 4 调用 C 函数

swift - Heroku Vapor服务器崩溃: Possible Postgres Library Issue?

ios - 使用 quartz2d 进行图像处理

ios - 如何暂时禁用 iPad 支持

ios - 交互式过渡,如谷歌地图 (iOS)

swift - 如何过滤类型字典中的值 [Type : [Type]]()