I want to show keyboard when tap on button, but the case is that keyboard has accessory view and that is textfield. In short, I want to open keyboard with accessory view which is textfield. Which is right way to do it..? 

I searched a lot, but none of those solutions helped me to achieve this.
Please help me.

Here is my code :
 `ViewController.m`

```
@interface ViewController () <UITextFieldDelegate>
{
    UITextField *txtNote;
}

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIView *accView = [self createAccessoryView];
    [txtNote setInputAccessoryView:accView];
}

- (UIView *)createAccessoryView
{
    UIView *accessoryView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 45)];
    [accessoryView setBackgroundColor:[UIColor lightGrayColor]];
    [accessoryView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin];

    CGFloat x = self.view.frame.size.width-65;

    txtNote = [[UITextField alloc] initWithFrame:CGRectMake(0, 5, x-5, 35)];
    txtNote.delegate = self;
    txtNote.font = [UIFont systemFontOfSize:IS_IPAD?20.0:14.0];
    [accessoryView addSubview:txtNote];

    UIButton *btnSave = [UIButton buttonWithType:UIButtonTypeCustom];
    btnSave.frame = CGRectMake(x, 5, 60, 35);
    btnSave.layer.cornerRadius = 5.0f;
    btnSave.clipsToBounds = TRUE;
    btnSave.titleLabel.font = [UIFont systemFontOfSize:18.0f];
    [btnSave setTitle:@"Save" forState:UIControlStateNormal];
    [btnSave setBackgroundColor:[UIColor blackColor]];
    [btnSave setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [btnSave addTarget:self action:@selector(doneWithNumberPad:) forControlEvents:UIControlEventTouchUpInside];
    [btnSave setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin];
    [accessoryView addSubview:btnSave];

    return accessoryView;
}

- (IBAction)addNote:(UIButton *)button
{
    // On this click, I want to show keyboard.
    [txtNote becomeFirstResponder];
}

- (IBAction)doneWithNumberPad:(id)sender
{
    [txtNote resignFirstResponder];
}

```