-1

在屏幕右下角添加一个按钮:

    UIButton *testBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [testBtn addTarget:self action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];

    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;

    testBtn.frame = CGRectMake(screenWidth - 100, screenHeight - 100, 100, 100);

    [self.view addSubview:testBtn];

我可以看到该按钮,点击它会立即将其变为蓝色。它只是不调用 test: 方法。为什么不?

编辑 - 这是目标方法:

- (void)test:(id)sender {
    NSLog(@"hi");
}
4

2 回答 2

4

可能是因为您的选择器是测试:而不是测试?此外,您将其称为 lockBtn,但您使用 btn 来引用方法调用……您可能引用了不同的按钮?

于 2013-01-17T18:05:17.387 回答
4
  1. 您的实例被调用lockBtn,但您正在将目标添加到btn.
  2. 您的方法签名可能是也可能@selector(test)不是@selector(test:).
于 2013-01-17T18:06:21.173 回答