0

このようにナビゲーションバーに複数のボタンを追加しています。

UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44.01)];

NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2];
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(assignSelected)];
bi.style = UIBarButtonItemStyleBordered;

[bi setEnabled:FALSE];

[buttons addObject:bi];
[buttons addObject:self.editButtonItem];

[tools setItems:buttons animated:NO];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];

self.editButtonItem.title = @"Select";

基本的に私がこれを行っているのは、編集ボタンを使用してアイテムのグループを選択し、それらに対してアクションを実行できるようにするためです。編集中にそこに追加したアクションボタンを有効にしたい。編集時にボタンの内容を制御するには、次の方法があります。

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];

    if (editing)
    {
        self.editButtonItem.title = NSLocalizedString(@"Cancel", @"Cancel");
    }
    else
    {
        self.editButtonItem.title = NSLocalizedString(@"Select", @"Select");
    }
}

ここで、アクション ボタンを有効または無効にします。プログラムで作成されたので、ボタンにアクセスする方法はわかりません。

4

1 に答える 1

1

作成した「bi」変数を介してアクセスできるはずです。bi 変数は、ボタンへのポインターを保持する必要があります。したがって、そのボタンのメソッドを次のように呼び出すことができます。

[bi methodName:methodArg];

于 2012-04-25T22:13:59.650 に答える