不调用选择器

时间:2012-03-07 10:55:18

标签: objective-c ios uibutton

我无法理解为什么不调用选择器。

// EDITED

[self.scrollView setContentSize:CGSizeMake(320, 600)];        

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

    [btn setTitle:@"Продължи" forState:UIControlStateNormal];
    btn.frame = CGRectMake(55, 580, 210, 50);
    [self.scrollView addSubview:btn];



-(IBAction)validateTextFields:sender
{
    NSLog(@"Called");
}

当我触摸按钮时,“已调用”按钮未记录在控制台中。如果我将UIControlEventTouchUpInside更改为UIControlEventTouchDown,则执行validateTextFields方法。

3 个答案:

答案 0 :(得分:1)

您在UIScrollView上添加了一个按钮,这可能会产生问题。请检查此问题:iPhone: adding button to scrollview makes button inaccessible to interaction。这可能会有所帮助。

答案 1 :(得分:0)

行动的类型应为

- (IBAction)validateTextFileds:(id)sender
{
   // do your stuff
}

@selector中的addTarget参数应如下所示:@selector(validateTextFields:)

答案 2 :(得分:-1)

试试这个:

[addContact addTarget:self action:@selector(buttonPressed:)forControlEvents:UIControlEventTouchUpInside];    

-(IBAction)buttonPressed:(id)sender{  
 }