Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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_Objective C_Uibutton_Interface Builder - Fatal编程技术网

ios-返回到隐藏/显示元素的屏幕时,按钮未放在右侧

ios-返回到隐藏/显示元素的屏幕时,按钮未放在右侧,ios,objective-c,uibutton,interface-builder,Ios,Objective C,Uibutton,Interface Builder,我有一个带开关的屏幕。如果选择“是”,则会显示某些元素;如果选择“否”,则会隐藏表单上的元素,并向上移动“提交”按钮,以使某些元素曾经所在的位置没有空白 以下是代码: - (IBAction)privacy:(id)sender { [self.view endEditing:YES]; if (self.privacySwitch.on) { nameField.hidden = NO; emailField.hidden = NO;

我有一个带开关的屏幕。如果选择“是”,则会显示某些元素;如果选择“否”,则会隐藏表单上的元素,并向上移动“提交”按钮,以使某些元素曾经所在的位置没有空白

以下是代码:

- (IBAction)privacy:(id)sender
{
    [self.view endEditing:YES];

    if (self.privacySwitch.on)
    {
        nameField.hidden = NO;
        emailField.hidden = NO;

        nameLabel.hidden = NO;
        emailLabel.hidden = NO;

        CGPoint pt = buttonProperty.center;
        pt.y += 135;
        buttonProperty.center = pt;

    }
    else
    {
        nameField.hidden = YES;
        emailField.hidden = YES;

        nameLabel.hidden = YES;
        emailLabel.hidden = YES;

        CGPoint pt = buttonProperty.center;
        pt.y -= 135;
        buttonProperty.center = pt;
    }
}
一切正常。我遇到的问题是,如果用户进入表单,进入下一个屏幕,然后按下“后退”按钮,所有元素都会像以前一样出现,但按钮仍在原来的位置,尽管其他元素仍然隐藏,而且看起来很奇怪。 以下是截图:

有人知道怎么解决这个问题吗? 谢谢

在中编写代码

-(void)viewWillAppear
{
}

检查是否处于编辑模式,并相应地更改用户界面。

您可以发布您的代码,以便我可以告诉您确切的问题吗?

您很可能已经在

中编写了更改用户界面的代码

- (void)viewWillAppear()
{

}
方法。你需要把它剪下来粘贴进去

- (void)viewDidLoad()
{

}
方法。


你好像是个新手。如果您不知道这些方法在何处,请在此代码的视图控制器中按ctrl+F来搜索这些方法名称。

是否使用自动布局?正如其他人所说,请在您的
viewDidLoad
中发布代码,并且
视图将出现
。您是以编程方式放置按钮还是仅使用interface builder?我曾经遇到过一些问题,即使它们被正确地放置在IB中,也没有正确地加载到设备上。我只是删除了它并重新添加,一切都很好。请发回更多详细信息,我将编辑我的答案。

如果您在Viewdidload中编写了任何代码,请复制并粘贴到ViewWillAppear您是否使用笔尖或故事板?如果是,是否打开了自动布局?将显示什么视图?对不起,我不熟悉。这是当视图进入前台时调用的方法。就像第一次加载视图时调用viewDidLoad一样。我不确定这会做什么。我已经知道它会出现错误:)问题是我不知道如何相应地更改ui:)