ios8 - 使用 Xcode6 对 UILabel 和 UIImage 框架的编程更改会丢失

标签 ios8 xcode6

我有一个生产应用程序,在使用 Xcode5 构建时运行良好。该应用程序在 iOS8 下的生产中运行良好。

使用 xcode6 构建时,发生了一些奇怪的事情。根据用户的选择,我通过调用方法设置了多个 UILabels 和 UIImage 的位置,以以下代码为例:

    CGRect frame1 = _lblRedJudge1Score.frame;
    frame1.origin.x = 253;
    frame1.origin.y = 610;
    frame1.size.width = 25;
    frame1.size.height = 25;
    _lblRedJudge1Score.frame = frame1;
    _imageRedJudge1Score.frame = frame1;

该方法正确设置了_lblRedJudge1Score和_imageRedJude1Score的位置。然后, View 上的任何用户交互(例如按下按钮)都会导致位置设置返回到 StoryBoard 上显示的位置。在早期版本的 Xcode 中不会发生这种情况。

就好像 View 被重置并忘记了我上面设置的位置设置。看来 UIView 根据 StoryBoard 设置被重写/更新,并丢失了我在方法中调用的编程设置。

注意:标签和图像对象在 .h 文件中定义为强的、非原子的。这两个对象在 View 中都没有任何约束。用于设置位置的方法仅被调用一次。

这是一个我不理解的新功能,需要更新代码,还是 xcode6 中的一个错误?这个问题在模拟器和实际设备中都会出现。

最佳答案

layoutSubview 

不再接到电话。 这可能是你的问题。 检查this出来。

关于ios8 - 使用 Xcode6 对 UILabel 和 UIImage 框架的编程更改会丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916174/

相关文章:

ios - 如何手动触发CLLocationManager更新?

ios - CocoaPods with XCode 6.0.1 - 如何修复以红色显示的 Pods Frameworks?

objective-c - iOS 8 方向改变 : Keyboard frame does not display correctly

ios - 为 iOS 7 和 iOS 8 的 Root View Controller 获取不同的框架

json - 添加注释会导致在展开可选值时意外发现 nil

ios - Xcode 6 playground — 我无法创建 OS X playground 文件

continuous-integration - Xcode Bots 缺少创建 Pods 目录的写入权限。

ios - 页面控件未更新

ios - 删除按钮被自定义单元格覆盖

ios - iOS8 popover 中的 setContentView Controller 方法导致应用程序崩溃