当前位置: 首页 > 知识库问答 >
问题:

尝试将UIView移出屏幕并使用自动布局

劳亦
2023-03-14

我有一个UIView,我想在屏幕外设置动画,然后将另一个视图带入屏幕。我正在使用自动布局,并为左侧和右侧NSLayoutConstraint设置了一个IBMoutlet。似乎没有为UIView设置宽度,视图实际上不会在屏幕外设置动画。

我正在尝试使用此代码关闭UIView:

  self.gameViewConstraintLeft.constant = -400
    UIView.animateWithDuration(1, animations: { () in
        self.view.layoutIfNeeded()
    })

    self.gameViewConstriantRight.constant = -400
    UIView.animateWithDuration(1, animations: { () in
        self.view.layoutIfNeeded()
    })

我在顶部(0)、左侧(0)和右侧(0)设置了约束。也许这是我的问题,我把视图固定在屏幕的边缘,但我希望它可以在多个屏幕大小上工作,所以我不确定实现我的目标的最佳方法。

共有1个答案

颛孙建业
2023-03-14

如果视图水平或垂直固定在多个侧面上,则移动视图时会遇到问题。

我建议如下:

>

  • 为您的两个视图设置宽度、高度、centerX和centerY约束。宽度和高度可以在超级视图中设置为“等宽”和“等高”,以允许它在多种屏幕尺寸下工作。

    IBOutlets添加到centerX约束。通过修改此约束的常量属性进行动画处理:

    self.gameView1ConstraintCenterX.constant = -400
    UIView.animateWithDuration(1) {
        self.view.layoutIfNeeded()
    }
    
    self.gameView2ConstriantCenterX.constant = 0
    UIView.animateWithDuration(1) {
        self.view.layoutIfNeeded()
    }
    

  •  类似资料:
    • 因此,我一直试图在我的android应用程序中添加启动屏幕,但每当我试图运行它时,应用程序总是崩溃。这里是代码`` activity_splash.xml

    • 这件事我已经被难倒好一阵子了。我正在尝试将包含在框架布局中的片段移到右边,这样只有左边20%的片段是可见的。 我认为我遇到的问题是父级不允许片段移动到它的边界之外,或者我不知道如何移动它。我所尝试的一切都只是将碎片推到右边的墙上,并将碎片缩放到合适的位置。我需要它把碎片推到右边墙外。任何帮助都将不胜感激。

    • 本文向大家介绍移动布局自适应不同屏幕的几种方式相关面试题,主要包含被问及移动布局自适应不同屏幕的几种方式时的应答技巧和注意事项,需要的朋友参考一下 (1) 响应式布局 (2) 100%布局(弹性布局) (3) 等比缩放布局(rem)

    • 我有几个项目保存到documents目录。我目前需要这些以编程方式移动到另一个目录。我成功地创建了新目录,但在使用FileManager.Default.MoveItem时似乎并没有看到这一点。 用于创建目录的代码。 我用这个代码检查我的URL。 它输出这个。 无法将文件移动到新媒体路径错误-错误域=nscocoaErrorDomain代码=516“无法将Image_5移动到”Documents“

    • 当我打开视图控制器时,我有一个从顶部飞出的视图。我已将UIView的Y约束设置为-200,当视图加载时,将调用以下内容,一切正常: 但是现在我有一个关闭按钮,它应该将动画回到-200位置,然后从屏幕上删除视图控制器。但是这个动画没有发生。视图控制器被直接删除。这是我正在做的: 我提到了这个链接。这似乎对他们有效,但对我无效。请帮忙。

    • 我试图在中显示Firebase数据。我创造了我的适配器和一切...当我运行该应用程序时,它可以正常工作,直到我将数据添加到Firebase,从而将部分推离屏幕。这会导致应用程序崩溃。 以下是MainActivity的xml: 下面是我为适配器设计的Cardview: 以下是MainActivity中重要的代码: 这是我的回收器适配器: 崩溃日志