在 Swift 中运行时更改自动布局约束的 UIView 框架

2023-12-27

例如,我使用此代码来更改UIView called Propo:

        self.Propo.frame.origin.x -= self.view.frame.width

(Propo故事板有限制)

但是当应用程序视图消失并重新出现时,UIView将自身重置到原始位置。我该如何解决?我想要UIView当我以编程方式更改它时保持其位置。

我试过了updateViewConstraints()通过其他任何附加...


约束和手动框架操作直接冲突。你必须选择其中之一。您应该通过按住 Ctrl 键并将其作为 Storyboard 中的 @IBOutlet 拖动到视图控制器来“提升”您希望更改的约束。然后,您可以操纵它的常数:

class MyViewController: UIViewController {
    @IBOutlet weak var myPropoLeftEdgeConstraint: NSLayoutConstraint!

    @IBAction doChangePropo(sender: AnyObject) {
        myPropoLeftEdgeConstraint.constant -= view.frame.width
        view.layoutIfNeeded()
    }
}

Objective C 中的很多地方已经介绍了这一点,因此如果您可以阅读这些示例,只需搜索一下以编程方式更改代码中的 NSLayoutConstraint 即可。

如何在代码中编辑约束 https://stackoverflow.com/questions/18897353/how-to-edit-constraint-in-code

(编辑以使其更适用:通常约束应该是动画的,以获得干净的用户体验。否则眼睛会感到困惑。)

您可以通过包裹轻松地对约束调整进行动画处理view.layoutIfneeded in a UIView.animateWithDuration(duration) { ... } block.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中运行时更改自动布局约束的 UIView 框架 的相关文章

随机推荐

  • 在Java中:在目录中创建唯一的随机文件名

    如何在 我选择的 目录中创建随机唯一文件名 Note 我不希望此文件位于系统临时路径中 而是位于我指定的目录中 File createTempFile https docs oracle com javase 6 docs api java
  • 在 uiwebview 中播放 YouTube 视频。如何处理“完成”按钮?

    我有一个 uiwebview 可以播放 youtube 视频 我如何处理完成按钮操作 现在 当我点击 完成 按钮时 它会变回我的应用程序主菜单 而不是应该关闭的菜单 并且它会冻结 有人可以帮我吗 ps uiwebview所在的菜单 之前是模
  • GTK 中的免费对象/小部件?

    我的 GTK 应用程序中有一个包盒 我每隔一段时间就会用一个全新的条目替换它 至少现在是这样 因为我很着急 由于我要用新实例替换它 我是否需要显式地从内存中释放旧包盒内容 或者 GTK 中是否有一些垃圾收集 如果我确实需要明确需要释放对象
  • 如何创建SWIG接口文件?

    我是 SWIG 新手 而且做事的时间也少了 我正在尝试将 C 类绑定到 python 我已经在 Windows 中设置了 SWIG 并尝试运行它 成功了 我的 example i 文件就像 File example i module exa
  • 登录网站 cURL

    我是第一次使用 cURL 我需要登录一个网站 我在设置 cookie 文件和检索时遇到问题 这样我就可以访问该页面 而不仅仅是一次 而是多次 我在网上找到了代码 用于登录网站并废弃页面以获取一些详细信息 因为获取该页面需要很长时间 所以我只
  • MVP MVC 和 MVVM 之间的区别

    朋友们 我已经浏览了很多链接 博客 我发现他们中的大多数人都无法用外行语言清楚地沟通 也无法理解 MVP MVVM 和 MVC 之间的技术差异 我知道每个角色代表什么 并且也致力于 MVP 的制作 但如果有人问我同样的问题 我真的不明白 为
  • 如何在 Bokeh 绘图模块中使用 vbar 方法绘制分类条形图

    我希望在 Bokeh 绘图中使用 vbar 方法绘制条形图 其中 x 轴采用分类值而不是数值 教程页面中提供的示例 http docs bokeh org en latest docs reference plotting html htt
  • Hive-如何使用原始表中的分区“创建表作为选择..”?

    我需要从我们的 hive dlk 创建一个 工作表 虽然我可以使用 create table my table as select from dlk big table 很好 我在继承分区时遇到问题 属性day month and year
  • 使用 Photos Framework 获取相机拍摄的照片的 URL

    我有一个应用程序使用UIImagePickerController从相机和照片库中检索照片 在图像选择器委托中 我只想保存 NSURL UIImagePickerControllerReferenceURL 选取的图像以节省内存 当用户稍后
  • 使相同的 C++ 类型别名不兼容

    I use std vector
  • 如何使用存储在独立存储中的图像来制作故事板动画?

    我似乎无法将存储在独立存储中的图像显示在故事板中 当我用相机拍照时 我可以将图像输出到屏幕上 但当我使用相同的文件名时Value String Format MyImage 0 D2 jpg i 由于我存储它们的位置 如果我在故事板中再次打
  • 连接到 USB 外围设备

    看起来 UsbManager 在构建中消失了 现在我们如何与USB外设进行通信呢 像USB gt 串行等使用https github com mik3y usb serial for android https github com mik
  • 使用 cfinvoke 和 createObject 运行组件函数有什么区别?

    在我公司的代码中 我经常看到通过初始化该组件的对象并调用该对象的方法来使用组件文件 然而 在我看来 使用 cfinvoke 方法似乎更直接 特别是当仅使用组件文件中的一种方法时 这两种调用组件函数的方法有什么区别 各自的优缺点是什么 我什么
  • WPF VSTS 应用程序挂在 VS 凭据提示上

    我正在尝试编写一个使用 Visual Studio Team Service VSTS API 来显示 Visual Studio Online 中的项目的应用程序 我有以下代码 可以在控制台应用程序中完美运行 var connection
  • 在 MKSnapshot 图像中绘制带有标题的 MKPointAnnotation

    我试图绘制与 实时 MapView 中完全相同的注释 但随后在 MKSnapshot 中绘制 为什么使用 MKSnapshot gt 因为我想在 UITableView 中拥有非交互式 MapView 并且使用图像更有效 我可以使用 MKP
  • Winform自定义列表框项目

    我有一个列表框 应显示包含 2 个字段的数据 时间和消息 我希望每个项目显示为 2 行 而不是显示 1 行文本 第一行是时间 第二行是消息 其中每行都有不同的样式 我怎样才能做到这一点 我可以将对象数组绑定到列表框 但如何设置它的样式 感谢
  • Javascript 中添加的最新运算符有哪些? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道 Javascript 最近添加了哪些运算符 这包括任何可能尚未通过标准流程在所有浏览器中实现的操作符 如果或多或少确定它们会
  • 构建AWS Lambda jar

    创建 AWS Lambda jar 的标准做法是什么 我们应该将依赖项捆绑为 zip 文件中的 jar 还是应该将依赖项解压并包含为类 据我所知 这是第一个正确的选项 但是当我遵循 AWS 缩略图教程时 我想到了这个疑问 它最终创建了一个包
  • 如何使用 setAttributedText 设置 WKInterface 标签的对齐方式

    我正在尝试设置对齐方式WKInterfaceLabel using setAttributedText功能 这是我的代码 var paragraphStyle NSParagraphStyle defaultParagraphStyle p
  • 在 Swift 中运行时更改自动布局约束的 UIView 框架

    例如 我使用此代码来更改UIView called Propo self Propo frame origin x self view frame width Propo故事板有限制 但是当应用程序视图消失并重新出现时 UIView将自身重