NSLayoutConstraint 常量设置后不更新

2024-04-22

我有一个UIView具有相应的子类xib文件。在我的 xib 中我有一个NSLayoutConstraint我正在尝试为其设置动画的属性。我有一个animateIn方法。问题是只有 animateIn 方法有效。当我尝试再次更新常量时,它只是保持以前的值。

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *horizontalConstraint;

我试图在按下按钮后更新常量。但常数设置后似乎没有更新。即使将其设置为 -500 后,它仍然记录 0。我正在打电话layoutIfNeeded但什么也没发生。

// this works
- (void) animateIn { 
    [UIView animateWithDuration:1.0 delay:2.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
        self.alpha = 1.0;
    } completion:^(BOOL finished) {

        [UIView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
            self.horizontalConstraint.constant = 0;
            [self layoutIfNeeded];
        } completion:^(BOOL finished) {
        }];
    }];
}

// this does not work
- (IBAction)resume:(id)sender {
        self.horizontalConstraint.constant = -500;
        [self layoutIfNeeded];

        NSLog(@"%f",self.horizontalConstraint.constant); // this always stays 0
    }

UPDATE

当我想第二次使用它时,我的 NSLayoutConstraint 似乎是 (null) 。这可以解释为什么它不更新。我应该如何保留对它的引用?


您需要致电setNeedsUpdateConstraints对应的方法UIView(control)其中您的 NSLayoutConstraint 用于更新约束。

以 UIButton 为例

self.buttonConstraint.constant = 55;
[self.btnTest setNeedsUpdateConstraints];

在你的情况下

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

NSLayoutConstraint 常量设置后不更新 的相关文章

  • 使用 nib 作为带有 nib 类的表节标题

    我想创建一个加载 nib 文件并将其设置为标题 UIView 的节标题 这个 nib 文件还将有一个关联的类 其中插座和操作连接到 因此我想像平常一样使用 nib 加载该类 我在网上搜索并找到了几个类似的答案 但我找不到任何适合我的答案 经
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • 如何在 iOS 中将 Firebase 对象持久保存到磁盘?

    看起来Firebase http www firebase comiOS 实现不支持客户端模型的离线缓存 这在实践中意味着 对于需要身份验证的 Firebase 应用程序 您需要首先进行身份验证并等待 Firebase 完成登录 检查用户身
  • 与 Objective-C 的 VPN 连接

    有没有办法在 iPhone 的 Objective C 中以编程方式建立 VPN 连接 有这方面的好教程吗 有人知道吗 多谢 我认为第三方应用程序无法访问这些 API
  • iPhone SQLite页面缓存不断增长

    I use sqlite数据库用于存储 还有许多数据库事务 我的问题是 sqlite 页面缓存的内存使用量快速增长 在instruments我可以找到这条线 Graph Category Live Bytes Living Transien
  • IDFA 使用不当,您的应用不遵守 ios 中的限制广告跟踪设置

    I have checked the iTC settings I have uploaded the same app 2 days ago and it works fine but when today I uploaded the
  • 如何区分 iTunes Connect / Apple TestFlight 上的 STAGE 和 PRODUCTION 版本?

    阶段构建与阶段服务器的对话 阶段服务器与生产服务器尽可能相同 以用于测试目的 生产构建与生产服务器的通信 生产服务器存储真实的关键数据 这些构建本质上是针对同一应用程序的 但是 iTunes Connect 界面将向您显示以下内容 即构建由
  • SceneKit unproject Z 文档解释?

    我正在经历一些 SceneKit 概念 而我试图在脑海中巩固的一个概念是 unprojectPoint 我知道该函数将获取 2D 中的一个点并返回 3D 中的一个点 因此具有正确的 Z 值 当我阅读文档时 我读到了以下内容 method u
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 使用 Quartz 创建 PDF 注释 (iOS)

    有人设法使用 Quartz 在现有 PDF 中编写自定义注释吗 我已经使用 CGPDFDocumentRef 等渲染了 PDF 现在工作正常 我成功地阅读了 Annots 字典 if CGPDFDictionaryGetArray page
  • Apple Developer 应用程序门户不再可以生成新的 Bundle Seed ID

    iOS 开发者门户中的新界面不再为您的应用程序 ID 提供 生成新的 按钮 取而代之的是 使用团队 ID 这将导致使用相同的种子 ID 任何人都知道为什么要进行更改以及您应该如何使用新的捆绑包种子 ID 随意补一些 不再可能生成新的种子 I
  • NSURLCache 不缓存

    我正在使用 Xcode 6 1 6A1030 iOS7 和 iOS8 模拟器 NSURLCache 似乎没有缓存任何东西 我使用 Cache Control 标头 我的服务器返回带有 max age 6000 的 Cache Control
  • 如何检索 iPhone 的区域设置

    我用谷歌搜索过它 但令我有点惊讶的是我找不到它 我只想访问设备配置的区域设置 我试图找到如何列出所有系统属性 以防我能在那里找到区域设置 但甚至找不到如何做到这一点 我知道 认为 我之前检索过系统属性 但我也记得在谷歌搜索时找到该信息并不容
  • 带有 allowedEditing 的 UIImagePickerController 不允许平移裁剪

    我在这里看到这个问题 UIImagePicker 允许编辑卡在中心 https stackoverflow com questions 12630155 uiimagepicker allowsediting stuck in center
  • cameraOverlayView 防止使用 allowedEditing 进行编辑

    在我的应用程序中 使用以下行在拍摄照片后对其进行编辑 移动和缩放 效果很好 imagePicker setAllowsEditing YES 但如果我还使用cameraOverlayView 则编辑模式将不再起作用 屏幕出现 但平移和捏合手
  • 在 UITableView 的部分标题文本下方添加一些边距

    我已经设计了标题文本的样式 func tableView tableView UITableView cellForRowAtIndexPath indexPath NSIndexPath gt UITableViewCell let ce
  • 带有文本字段的 iPhone AlertView

    我有一个UIAlertView with a UITextField在里面 我想输入mail id并提交于UIAlertView s ok按钮 但是UITextField in the UIAlertView没有回复 请帮助我 thankz
  • 如何观察UserDefaults的变化?

    我有一个 ObservedObject在我看来 struct HomeView View ObservedObject var station Station var body some View Text self station sta
  • 从plist文件中读取数据

    我正在尝试为我的 iPhone 应用程序实现保存状态 我有一个名为 SaveData plist 的 plist 文件 我可以通过以下方式读取它 NSString pListPath2 bundle pathForResource Save

随机推荐

  • java填充系统属性的源码有哪些

    Through System getProperty 字符串键 http docs oracle com javase 7 docs api java lang System html getProperty java lang Strin
  • Angular2测试表单:未调用提交方法

    有了这个组件 import Component from angular2 core import FORM DIRECTIVES from angular2 common Component selector something temp
  • 如何使用 ConfigurationBuilder 绑定到配置类

    我想用ConfigurationBuidler阅读我的appsettings json文件 我看不出我做错了什么 我的文件是 comment this gets copied to bin debug on build the app up
  • Java JFormattedTextfield 时间格式化

    我在代码中使用时间时遇到了一些麻烦 txtDauer new JFormattedTextField txtDauer setFormatterFactory new DefaultFormatterFactory new DateForm
  • 尝试让 POST 返回 400 错误请求

    我有一个通过关联构建新模型的 create 方法 如果 POST 请求中没有参数 我希望它返回带有一些文本的 400 响应 但是 我收到错误 这是在 Rails 4 0 2 中 控制器方法 def create cast profile c
  • jQuery - .children().size() 更改时触发事件

    我已经搜索了近和远 但我不知道如何在子元素的 size 上放置侦听器 我想做的是 我有一个包含 0 6 个以上子元素的 div 这个数字没有定义 因为我正在制作一个购物车 我希望有一个侦听器 而不是每个可以更改购物车中的商品数量的按钮 即添
  • 来自 json 数据的 Padrino 模型

    我一直在为我正在从事的一个项目寻找 Padrino 它似乎非常适合 因为我理想情况下希望支持以 json 形式发送和接收数据 但是我想知道是否有任何内置的自动化帮助程序或功能可以从发布请求 或其他请求 中获取数据并将该数据放入模型中 而无需
  • IIS8 Express 上的 SqlRoleProvider

    我的 Web 应用程序 WCF 服务 使用SqlRoleProvider 这适用于Visual Studio 开发服务器 将其切换到IIS8 Express导致它抛出一个NullReferenceException though Roles
  • pandas HDFStore - 如何重新打开?

    我使用以下方法创建了一个文件 store pd HDFStore home data h5 并使用以下方法存储一些表 store firstSet df1 store close 我关闭了python并在一个新的环境中重新打开 我如何重新打
  • 使用Python的Requests模块登录ASP网站

    我试图从我的学校页面上抓取一些信息 但我很难通过登录 我知道有类似的线程 我花了一整天的时间阅读 但无法使其发挥作用 这是我使用的程序 用户名和密码已更改 import requests payload ctl00 cphmain Logi
  • 按值对 Javascript 对象进行排序

    在我的 Javascript 应用程序中 我有一个对象 我需要能够通过内部对象中的值对数组进行排序 例如 a timestamp xxxxxx other yyyyyy b timestamp xxxxxx other yyyyyy c t
  • 如何检查数组的某一项是否具有真值

    在对象数组中 如何检查任何数组项是否具有 true 属性 我有一个对象数组 我需要检查数组项中是否有一个属性 其值确实是 const arr name Tony test false name Jack test false name Ti
  • 在单线程中的 List.Add 过程中,什么可能导致“目标数组不够长”?

    我有一个要添加到嵌套 foreach 循环中的对象列表 该操作是同步的 或者也许我并不像我认为的那样理解 lambda 并且是单线程的 并且列表并不是不合理的大 我完全不知道可能导致此异常的原因 public string Promotio
  • 从覆盖率报告中删除自动生成的异常代码

    让我们从一个最小的工作示例开始 主要 cpp include
  • C# 在枚举中使用数字

    这是一个有效的枚举 public enum myEnum a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 0xff 但这不是 public enum myEnum 1a 1 2a 2 3a 3 有没有办法在枚举中使用数字 我已经
  • 在 Ember.js 中,为什么绑定到数组在 {{#each}} 之外不起作用?

    在下面的代码中 我渲染了 3 个视图 第二个和第三个视图渲染App controller a 单击第一个视图会发生变化App controller a 单击时 第三个视图会更新其内容 第二个视图不更新其内容 为什么 我认为第二个视图绑定到数
  • open() 尝试打开管道进行读取时会阻塞

    我有两个进程 一个服务器和一个客户端 它们应该通过管道 C Linux 进行通信 服务器打开管道O RDONLY标志 以及客户端O WRONLY 然而 服务器阻塞在open函数 而客户端似乎运行成功 open函数返回成功 因此write功能
  • dplyr 就地突变[重复]

    这个问题在这里已经有答案了 这是我的例子 library dplyr a lt c 0 2 1 3 df test lt data frame a df test gt mutate a round a 0 它产生 a 1 0 2 1 但不
  • R传单和闪亮如何清除地图点击数据

    下面的例子摘自RStudio 教程 http rstudio github io leaflet shiny html传单上 我稍微修改了一下以适应我的问题 我有一张地图 这里是地震 我使用它在地图上绘制addCircleMarkers单击
  • NSLayoutConstraint 常量设置后不更新

    我有一个UIView具有相应的子类xib文件 在我的 xib 中我有一个NSLayoutConstraint我正在尝试为其设置动画的属性 我有一个animateIn方法 问题是只有 animateIn 方法有效 当我尝试再次更新常量时 它只