【问题标题】:Programmatic changes to UILabel and UIImage frame are being lost using Xcode6使用 Xcode6 丢失对 UILabel 和 UIImage 框架的编程更改
【发布时间】:2014-09-18 15:00:54
【问题描述】:

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

使用 xcode6 构建时,发生了一些奇怪的事情。根据用户的选择,我通过调用一个方法来设置几个UILabel和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的位置。然后,视图上的任何用户交互,例如按钮按下,都会导致位置设置返回到 StoryBoard 上显示的位置。这在早期版本的 Xcode 中不会发生。

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

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

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

【问题讨论】:

    标签: ios8 xcode6


    【解决方案1】:
    layoutSubview 
    

    不再被调用。 那可能是你的问题。 签出this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 2012-08-15
      相关资源
      最近更新 更多