0
我想從我的CCLayerClass訪問我的Play類中的UIButton。從另一個類不工作的訪問UIButton?
問題是它不工作!
這是我如何聲明它在播放類: .H
IBOutlet UIButton *pauseButton;
@property(nonatomic, retain) IBOutlet UIButton *pauseButton;
.M
@synthesize pauseButton;
然後在的dealloc:
[pauseButton release];
而且我當然連接它然後在界面生成器中。
然後在我的其他班級(我的CCLayer)班。我試圖做到這一點:
Play *play = [[[Play alloc] init] autorelease];
[play.pauseButton setHidden:YES];
事情是,它只是不隱藏按鈕。這有什麼理由嗎?
謝謝!
EDIT1: 我Play.h
IBOutlet UIButton *pauseButton;
BOOL pauseButtonVisible;
@property(nonatomic, retain) IBOutlet UIButton *pauseButton;
@property(readwrite) BOOL pauseButtonVisible;
.M
@synthesize pauseButton;
- (void)setPauseButtonVisible: (BOOL) variableToSet {
pauseButtonVisible = variableToSet;
if(pauseButton)
[pauseButton setHidden: !pauseButtonVisible];
}
- (BOOL) pauseButtonVisible
{
return(pauseButtonVisible);
}
viewWillAppear中:
[pauseButton setHidden: !pauseButtonVisible];
我也發確保我連它在Interface Builder
然後在CCLayerClass我這樣做:
Play *play = [[[Play alloc] init] autorelease];
if(play.pauseButton == NULL) {
NSLog(@"pause button is NULL");
}
但是NSLog的被調用!爲什麼我的pauseButton爲NULL?我只需要分配它以保持活力,這有可能嗎?
謝謝! play.pauseButtonVisible = YES;
Play是一個視圖控制器。另外,我不確定Play的所有UI元素在pauseButton不爲null之前加載的意思。這是否意味着我必須在代碼中執行某些操作才能解決此問題? –
另外,pauseButton實際上是NULL,所以我該如何解決這個問題? –
例如,通過'[[Play alloc] initWithNibName:@「Play」bundle:NULL]'實例化它,然後顯示它並** THEN ** pauseButton不會爲空,並且您可以以編程方式隱藏該按鈕。我希望我的信息能幫助你! –