以编程方式移动UIView

时间:2014-06-29 01:56:31

标签: ios uiview uiimageview frame

我的应用在屏幕底部显示横幅广告。

这些广告上面有几个UIViews / UIImageViews等。

如果用户通过IAP删除了广告,那么横幅就会出现空位,正如预期的那样。

但是,我想垂直向下移动这些视图,以减少屏幕上的明显差距。

我一直在尝试的代码似乎无法正常工作 -

    UIView *moveView = [self.view viewWithTag:5];
    CGRect frame = moveView.frame;

    [moveView removeFromSuperview];

    frame.origin.y = frame.origin.y + 25.0;
    moveView.frame = frame;

    [self.view addSubview:moveView];

3 个答案:

答案 0 :(得分:1)

下面的答案建议删除自动布局,但我需要为故事板自动布局。

我只需删除一个UIView的自动布局。

我最终使用的是

[moveView settranslatesautoresizingmaskintoconstraints:YES]

这条简单的线条让我可以移动我的视野而不必担心自动布局。

答案 1 :(得分:0)

您可以创建一个IBOutlet并将其连接到故事板中的UIView。

@property (nonatomic, retain) IBOutlet UIView *moveView;

然后在故事板中关闭自动布局。

enter image description here

完成后再尝试代码。

或试试这个

[moveView setFrame:CGRectMake(0,0,320,480)];

答案 2 :(得分:-1)

mmmbaileys是对的。!!

小变化:

[self.yourview setTranslatesAutoresizingMaskIntoConstraints:YES];

在viewDidLoad中使用它。