【问题标题】:Move UIView Programmatically以编程方式移动 UIView
【发布时间】:2014-06-29 01:56:30
【问题描述】:

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

在这些广告之上是几个 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];

【问题讨论】:

    标签: ios uiview uiimageview frame


    【解决方案1】:

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

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

    我最终使用的是

    [moveView settranslatesautoresizingmaskintoconstraints:YES]
    

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

    【讨论】:

      【解决方案2】:

      您可以创建一个 IBOutlet 并将其连接到情节提要中的 UIView。

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

      然后关闭情节提要中的自动布局。

      一旦完成,然后尝试您的代码。

      或者试试这个

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

      【讨论】:

      • 我已经回答了我上面的问题。感谢您的帮助
      【解决方案3】:

      mmmbaileys 是对的。!!

      小改动:

      [self.yourview setTranslatesAutoresizingMaskIntoConstraints:YES];
      

      在 viewDidLoad 中使用它。

      【讨论】:

      • 请查看URL这将有助于提升您的内容质量
      猜你喜欢
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 2017-03-17
      • 2011-10-27
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多