Bellow 我有一些代码通过 Xcode 中的委托系统简单地隐藏了一个按钮。我相信这一切都有效,但是当我将视图传输回“leveSelector”视图时,委托无效,因此按钮不会显示为未隐藏。因此,我想应用一些NSUserDefaults
来保存按钮状态,这样当我稍后在游戏中返回“levelComplete”视图时,我希望按钮不被隐藏。
delegate
在这里,我有我正在使用的系统的代码:
在这里,我有 levelComplete 代码... .h
#import <UIKit/UIKit.h>
#import "levelComplete.h"
#import "LevelSelector.h"
@interface levelComplete : UIViewController{
}
@property (nonatomic, strong) id<CustomDelegate> delegatePpty;
@end
.m
@implementation levelComplete
@synthesize delegatePpty;
-(void)someAction
{
[self.delegatePpty hideUnhidebutton:YES];//Call the delegate method to execute
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[self someAction]; // Here I call my action
}
@end
在这里,我有 levelSelector 代码...
。H
@protocol CustomDelegate <NSObject>
-(void)hideUnhidebutton:(BOOL)value;
@end
#import <UIKit/UIKit.h>
#import "levelComplete.h"
#import "LevelSelector.h"
@interface LevelSelector : UIViewController <CustomDelegate>{
}
@property (nonatomic, strong) UIButton *level1;
@end
.m
@implementation LevelSelector
@synthesize level1;
-(void)hideUnhidebutton:(BOOL)value
{
[self.level1 setHidden:value];
}
因此,为了澄清,我想在按钮被隐藏为NSUserDefault
. 在这种情况下,我希望隐藏的按钮称为level1
。
编辑:感谢所有发布应用您的代码的人工作得很好