UIButtonType InfoLight在哪里?

时间:2012-02-06 02:39:49

标签: ios5 uinavigationbar uinavigationitem segue uibuttonbaritem

我正在寻找按钮栏项目的标识符列表中的UIButtonTypeInfoLight选项,我没有看到它。所以,有两个问题。

  1. 它是否只是缺失,我将不得不在代码中手动创建它?我想知道为什么他们会省略它。

  2. 假设我必须手动创建按钮,从中调用segue,我是否需要手动执行segue而不是使用故事板?

  3. 我假设我从我的按钮调用的方法中执行此操作[self performSegueWithIdentifier:@"ShowChecklist" sender:nil];

    创建我的按钮的代码是

    UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
    [infoButton addTarget:self action:@selector(infoButtonAction) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *modalButton = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
    [self.navigationItem setRightBarButtonItem:modalButton animated:YES];
    

    那么,这是一种常见模式吗?我在做一些奇怪而非标准的事情吗?在我看来,奇怪的是,如果我的BarButton只是一个自定义按钮,说“info”我可以创建它并在故事板中将它连接起来......但对于这个,我必须全部用代码完成。

    Th menu:

1 个答案:

答案 0 :(得分:7)

UIButtonTypeInfoLight是一个UIButton。按钮栏项是UIBarButtonItems。他们彼此无关。你只是混淆了苹果和橘子。

但是,UIBarButtonItem可以包含 UIButton。 (这仅仅是因为它可以包含任何 UIView。)因此将UIButton拖到工具栏中。你得到的是一个包含 UIButton的UIBarButtonItem 。如果您双击 UIBarButtonItem,则会获得UIButton。现在您可以设置按钮的类型。