动态创建uibarbutton不起作用

时间:2012-08-27 09:18:23

标签: iphone objective-c ios xcode

uibarbutton没有回应。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" 
                               style:UIBarButtonItemStylePlain target:nil action:nil];

当用户点击按钮时,不会触发任何操作。

3 个答案:

答案 0 :(得分:1)

为此,您还需要使用UIbarbutton的以下代码。

UIBarButtonItem *cameraView = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
                               target:self action:@selector(showCam)];

或者您也可以使用以下代码。

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                        style:UIBarButtonItemStylePlain
                                        target:self
                                                                              action:@selector(showCam)];

它也可能对你有帮助。

答案 1 :(得分:1)

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"TITLE"
                                       style:UIBarButtonItemStylePlain
                                       target:self
                                       action:@selector(methodName:)] autorelease]; 

答案 2 :(得分:1)

您需要指定一个将处理按钮回调的委托('target'参数,通常是'self',以及要调用的方法的名称,这是'action'参数)。

backButton = [[UIBarButtonItem alloc]
                 initWithTitle:@"Back"
                     style:UIBarButtonItemStylePlain
                     target:self
                     action:@selector(backButtonAction:)];

在指定为目标的类中包含action方法'backButtonAction'。因此,如果使用'self',请将该方法包含在添加按钮的同一个类中,如下所示

- (void) backButtonAction:(id) sender
{
    NSLog (@"backButtonAction: Sender %p", sender);

    ....
}