从另一个View Controller返回后,按钮不会隐藏

时间:2013-03-24 01:06:00

标签: uibutton uitabbarcontroller uibarbuttonitem hidden

我有一个带标签栏和多个标签栏项目的应用程序,每个项目都有自己的VC。在HOME选项卡栏视图中,我有一组以编程方式生成的UIButtons。我有一个特定的按钮(“隐藏按钮”),当按下时,禁用/隐藏其他按钮。按预期工作。

然而,当我点击第二个标签栏项目然后返回到原始项目并点击“隐藏按钮”按钮时 - 它们保持可见/启用状态。如果我在“隐藏按钮”按钮调用的方法中设置断点,我注意到其中一个按钮的内存地址,并在跳转到另一个视图并返回后,我注意到相同的UIButton内存地址不同。不知道为什么。

UIButtons全部在@implementation块内的HOME VC中以UIButton *originalButton; UIButton *hideButtonsButton;等格式定义,并在viewDidAppear中初始化:使用以下类型的代码:

// ORIGINAL BUTTON TAG = 1
originalButton = [UIButton buttonWithType:UIButtonTypeCustom];
[originalButton addTarget:self action:@selector(originalButtonWasPressed:) forControlEvents:UIControlEventTouchUpInside];
originalButton.frame = CGRectMake(20.0, 30.0, 100.0, 39.0);
UIImage *originalButtonImage = [[UIImage imageNamed:@"originalreg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)];
UIImage *originalButtonImageHighlight = [[UIImage imageNamed:@"originalregblue.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)];
[originalButton setBackgroundImage:originalButtonImage forState:UIControlStateNormal];
[originalButton setBackgroundImage:originalButtonImageHighlight forState:UIControlStateHighlighted];
[self.view addSubview:originalButton];

任何指导赞赏!

1 个答案:

答案 0 :(得分:0)

咄。我将调用移动到按钮初始化方法viewDidLoad与viewDidAppear。一切都很好。