以编程方式移动UIView

3
我的应用程序在屏幕底部显示横幅广告。 在这些广告上方有几个UIView / UIImageView等。
如果用户通过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个回答

1
下面的答案建议删除自动布局,但是我需要自动布局来设计我的故事板。
我只需要为一个UIView删除自动布局即可。
最终我使用的是:
[moveView settranslatesautoresizingmaskintoconstraints:YES]

这个简单的代码行使我的视图移动起来不用担心自动布局。

0

您可以在Storyboard中创建一个IBOutlet并将其连接到UIView。

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

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

enter image description here

完成这个步骤后,尝试运行你的代码。

或者尝试这个

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

我已经在上面回答了我的问题。谢谢你的帮助。 - mmmbaileys

0

mmmbaileys 是对的。!!

小改动:

[self.yourview setTranslatesAutoresizingMaskIntoConstraints:YES];

在viewDidLoad中使用此代码。


请查看此链接,它将有助于提高您的内容质量。 - Willie Cheng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接