Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 视图将显示为不执行代码_Ios_Swift - Fatal编程技术网

Ios 视图将显示为不执行代码

Ios 视图将显示为不执行代码,ios,swift,Ios,Swift,我的viewWillExample方法中有一段代码,它只是将一组标签从屏幕上向下移动: override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) //Hide 1,3,5 RM labels oneRepMax.center.y += view.bounds.height threeRepMax.center.y += view.bounds.height

我的viewWillExample方法中有一段代码,它只是将一组标签从屏幕上向下移动:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    //Hide 1,3,5 RM labels
    oneRepMax.center.y += view.bounds.height
    threeRepMax.center.y += view.bounds.height
    fiveRepMax.center.y += view.bounds.height

}
所有3个标签都已正确链接到我的故事板文件。当我运行项目时,什么都没有发生

如果我将完全相同的代码复制到链接到按钮的方法中,它将按预期工作

在这个项目中没有任何其他东西,所以我不明白为什么这不起作用

我正在使用Xcode 7,并遵循一个教程,该教程在ViewWillApperMethod中起作用。 详情如下:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    heading.center.x -= view.bounds.width
    username.center.x -= view.bounds.width
    password.center.x -= view.bounds.width
    loginButton.center.y += 30
    loginButton.alpha = 0



}

在所有标签出现在屏幕上之前,您永远不会知道边界

请尝试在ViewDidAspect方法中执行相同的操作

从文件:

完成视图初始外观中涉及的任何图形和动画后,将调用此方法。可以重写此方法以执行适合该时间的任务,例如不应干扰演示动画的工作,或启动要在视图显示后开始的动画


在所有标签出现在屏幕上之前,您永远不会知道边界

请尝试在ViewDidAspect方法中执行相同的操作

从文件:

完成视图初始外观中涉及的任何图形和动画后,将调用此方法。可以重写此方法以执行适合该时间的任务,例如不应干扰演示动画的工作,或启动要在视图显示后开始的动画


尝试将代码更改为
viewdide


您可以在中找到更多信息。

尝试将代码更改为
viewdide


您可以在中找到更多信息。

这段代码来自Ray Wenderlich的《iOS动画教程》,对吗?
我也有同样的问题。我找到了这个问题的原因——教程中的视图不使用自动布局和大小类,这就是为什么标签在设置坐标时不响应。尝试更改
视图中标签的颜色将出现
方法,如
labelText.textColor=UIColor.greenColor()
,一切正常,但如果尝试设置坐标,如
labelText.center.x-=view.bounds.width
则不会发生任何事情。因此,单击您的视图并转到文件检查器,滚动一点,您将看到复选标记
使用自动布局
使用大小类
取消选中,您将获得所需内容。但是你也会很痛苦,因为这对于没有自动布局的代码来说是另一个漫长的故事。祝你好运

这段代码来自Ray Wenderlich的《iOS动画教程》,对吗?
我也有同样的问题。我找到了这个问题的原因——教程中的视图不使用自动布局和大小类,这就是为什么标签在设置坐标时不响应。尝试更改
视图中标签的颜色将出现
方法,如
labelText.textColor=UIColor.greenColor()
,一切正常,但如果尝试设置坐标,如
labelText.center.x-=view.bounds.width
则不会发生任何事情。因此,单击您的视图并转到文件检查器,滚动一点,您将看到复选标记
使用自动布局
使用大小类
取消选中,您将获得所需内容。但是你也会很痛苦,因为这对于没有自动布局的代码来说是另一个漫长的故事。祝你好运

加载视图控制器时,会调用几种方法。他们的顺序是这样的(在
UIViewController
):

loadView

viewDidLoad

视图将出现:

viewWillLayoutSubviews

layoutSubviews
(在视图控制器内的
UIView
s上)

viewdilayoutsubviews
(视图控制器知道所有设置)

viewdide出现:


viewdilayoutsubviews
中,您完全可以确定您的更改将生效,因为元素已设置。在此之前,您无法确定(除非缓存了视图控制器,并且它再次出现)。

加载视图控制器时,会调用几种方法。他们的顺序是这样的(在
UIViewController
):

loadView

viewDidLoad

视图将出现:

viewWillLayoutSubviews

layoutSubviews
(在视图控制器内的
UIView
s上)

viewdilayoutsubviews
(视图控制器知道所有设置)

viewdide出现:


viewdilayoutsubviews
中,您完全可以确定您的更改将生效,因为元素已设置。在此之前,您不能确定(除非缓存了视图控制器,并且它再次出现)。

好的,但如果我将view.bounds.height更改为1000左右,这是否可行?我正在学习一个教程,在那里我可以做到这一点。你能分享这个教程的链接吗?这是一个视频教程,附带一个付费墙,很不幸,这是可以的,但是你必须在ViewDidEmbeen中完成。按照文档进行操作您可以在
viewdide:
(当您完全确定所有内容都已设置好时)或更好的情况下在
viewdidelayoutsubviews
(在
viewdide:
之前调用,但在
viewdide:
之后调用)上进行操作。可以,但如果我将view.bounds.height更改为1000左右,那不管用吗?我正在学习一个教程,在那里我可以做到这一点。你能分享这个教程的链接吗?这是一个视频教程,附带一个付费墙,很不幸,这是可以的,但是你必须在ViewDidEmbeen中完成。按照文档进行操作您可以在
viewdide:
(当您完全确定所有内容都已设置)或,