0

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

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

它们都以等形式在块UIButtons内的 HOME VC 中定义,并在 viewDidAppear: 中初始化:使用以下类型的代码:@implementationUIButton *originalButton; UIButton *hideButtonsButton;

// 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];

任何指导表示赞赏!

4

1 回答 1

0

呃。我将按钮初始化方法的调用移至 viewDidLoad 与 viewDidAppear。现在一切都很好。

于 2013-03-24T01:35:34.290 回答