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:)