我做了一个工具条,上面有两个按钮。然后,我在我的课控制器中创建两个出口。然后我勾住控制器的按钮和选择的插座。

最后,我重写的类文件(即加入:

IBOutlet id next;
IBOutlet id previous;

到我的h文件)。

所以,现在,一切看起来都正常。但后来我尝试在某个地方的代码来改变我的按钮中的一个状态是这样的:

next.enabled = YES;

我试图与自我。太可惜我收到此错误信息: 错误:“启用”的东西请求构件不是一个结构或联合

你有没有发生的事情有任何想法?

和是的,我有:

#import <UIKit/UIKit.h>

:)

使用:

[next setEnabled:YES];

让我没有错误,但仍然无法正常工作...

最后,用于记录的目的,这里的整个方法:

- (void)viewDidLoad {
    [super viewDidLoad];

     if (!self.currentLevel) {
          self.currentLevel = @"1";
     }

     NSArray *etape = [self.etapes objectForKey:self.currentLevel];
     if ([etape count] > 0) {
          self.navigationItem.title = [etape objectAtIndex:1];
          if ([etape count] > 1) {
               [next setEnabled:YES];
          }

     } else {
          self.navigationItem.title = @"Aucune étape";
     }
}

当我做的:

NSLog(@"%@", [next class]);

它返回(空)...我想它应该是的UIBarButtonItem ...

看来,这是不可能与任何网点玩,即使我没有在与他们...

播放收到任何错误
有帮助吗?

解决方案

这应该是:

IBOutlet UIButton * next;
IBOutlet UIButton * previous;

其他提示

我不知道有关iPhone SDK,因为我不使用它,但你能够使用下面的方法/禁用工具栏项目。我通常使用按钮的标签,以确定哪个按钮我目标。

-(BOOL)validateToolbarItem:(NSToolbarItem*)theItem {
    BOOL shouldEnable = YES;
    NSString* itemLabel = [theItem label];
    if ([itemLabel isEqualToString:@"next"]) {
        shouldEnable = NO;
    }
    return shouldEnable;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top