It doesn't look like you've told your button to call takePhotoButton:
when it's tapped. Try adding
[takePhotoButton addTarget:self action:@selector(takePhotoButton:) forControlEvents:UIControlEventTouchUpInside];
after you've created the button in initWithFrame: