启用Autolayout时动态移动UIImage视图

时间:2014-08-21 10:08:59

标签: objective-c xcode uiimageview autolayout

我必须根据收到的值移动UI图像视图。我启用了Autolayout。 我必须使用自动布局。是否有任何其他方法来移动我的UIImage视图。这是我正在使用的代码,我知道它不会工作,因为我启用了自动布局

    switch (valueForBlueBar)
     {
         case 0:
             NSLog(@"its Monday");
             break;
         case 1:
             NSLog(@"its tuesday");
             break;
         case 2:
             NSLog(@"its wednesday");
             break;
         case 3:
             NSLog(@"its thurdsay");
             [blueBarOutlet setFrame:CGRectMake(100, 100, blueBarOutlet.frame.size.width, blueBarOutlet.frame.size.height)];
             break;
         case 4:
             NSLog(@"its friday");
             break;
         default:
             break;

}

2 个答案:

答案 0 :(得分:2)

希望这会有所帮助

当自动布局为ON时,您无法更新ui元素的框架或边界。您需要更新相关约束(您需要引用这些约束,作为出口或作为属性的属性在代码中创建约束后保持不变。

您可以使用Autolayout Constraints工具来简化此过程。

答案 1 :(得分:1)

首先,如果使用自动布局,则需要忘记帧。 与框架一样,您可以在[UIView animage....]方法中进行动画制作。

您需要的只是更新约束而不是帧。 您可以添加/删除约束或更改其参数或优先级。