在屏幕外开始uiview是不好的做法吗?

时间:2015-07-06 00:04:28

标签: ios uiview autolayout

我有一个UIView,我想在按下按钮时显示,现在我正在尝试将其初始化为viewDidLayoutSubviews中的屏幕外,当按下按钮时它会滑入屏幕,这是不好的做法?是否有另一种方法可以在没有屏幕外框架的情况下为这种滑动设置动画?

1 个答案:

答案 0 :(得分:1)

我认为按照自己的方式行事是没有害处的。另一种方法可能是:

  • 创建视图并将其隐藏。
  • 将其添加为子视图,并在动画完成后将其放置在您想要着陆的位置。
  • 然后对其应用转换:

    aView.transform = CGAffineTransformMakeTranslation(dx, dy);

    假设您要将其水平移动到屏幕之外。所以dx会有400分。我建议根据[UIScreen mainScreen].bounds.size.width计算它以与每个屏幕兼容。

  • 在下一步中,再次显示视图并在动画块中应用标识变换:

    [UIView animateWithDuration:0.5 animations:^{
            aView.transform = CGAffineTransformIdentity;
        }];
    

    它会神奇地滑到它的位置。