Programmatically code UIButton action
ios, ipad, iphone, objective-c, uibutton
Solution
Watch these three lines of code:
hard1.layer.cornerRadius = 10;
hard1.clipsToBounds = YES;
[hard1 addTarget: self
action: @selector(buttonClicked:)
forControlEvents: UIControlEventTouchUpInside];
You are missing self. in all three. They should be:
self.hard1.layer.cornerRadius = 10;
self.hard1.clipsToBounds = YES;
[self.hard1 addTarget: self
action: @selector(buttonClicked:)
forControlEvents: UIControlEventTouchUpInside];
Also, if you are creating it programatically, it shouldn't be an IBAction (IB stands for interface builder and this is not created in interface builder).
Problem
I'm trying to create a button, which once tapped will show a popover of another UIView. To test this out, I have the following code in my viewDidLoad section: ``` - (void)viewDidLoad { [super viewDidLoad]; self.hard1 = [UIButton buttonWithType:UIButtonTypeCustom]; [self.hard1 setFrame:CGRectMake(884, 524, 105, 60)]; // set the x,y,width and height based on your specs UIImage *buttonImage = [UIImage imageNamed:@"green.jpg"]; hard1.layer.cornerRadius = 10; hard1.clipsToBounds = YES; [hard1 addTarget: self action: @selector(buttonClicked:) forControlEvents: UIControlEventTouchUpInside]; [self.hard1 setImage:buttonImage forState:UIControlStateNormal]; [self.view addSubview:self.hard1]; } ``` and further down: ``` - (IBAction) buttonClicked: (id)sender { NSLog(@"Tap"); } ``` however, the console does not log 'Tap' when I hit the button. Any ideas?