Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make popup like keyboard characters in iOS8 custom keyboard?

I want to create popup in iOS8 custom keyboard as shown below image.

Want to create this type of keyboard in iOS8

Some code are working but can't access outer window of keyboard and occures issue as shown in below image-2

Issue in iOS8 Custom Keyboard

like image 346
Scorpian Alive Avatar asked Aug 19 '14 07:08

Scorpian Alive


Video Answer


2 Answers

This what i have done in my custom Keyboard its working

//adding pop up when character is tapped
- (void)addPopupToButton:(UIButton *)button
{


    CGRect frame,frame1;
    if(self.view.frame.size.width == 320)
    {
        //Keyboard is in Portrait
        frame = CGRectMake(0, -25, 28, 43);
        frame1=CGRectMake(0, 0, 28, 43);

    }
    else{
        //Keyboard is in Landscape
        frame = CGRectMake(3, -25, 35, 43);
        frame1=CGRectMake(0, 10, 35, 43);

    }
   //create pop up view
    UIView *popUp=[[UIView alloc]initWithFrame:frame];

    //create a label to add to pop up view
    UILabel *text = [[UILabel alloc] init];

    //set frame for the label and set label title
    [text setFrame:frame1];
    [text setText:button.titleLabel.text];
    text.textAlignment=NSTextAlignmentCenter;
    [text setFont:[UIFont boldSystemFontOfSize:30]];
    text.backgroundColor=[UIColor whiteColor];

    //add label as popup view's subview
    [popUp addSubview:text];

    //add pop up view as button's subview
    [button addSubview:popUp];

}


//remove Pop up view
-(void)endPopUpForButton:(UIButton*)button
{
    if ([button subviews].count > 1)
    {
        [[[button subviews] objectAtIndex:1] removeFromSuperview];
    }
}

enter image description here

like image 93
codeIgnitor Avatar answered Sep 18 '22 21:09

codeIgnitor


From the Apple App Extension Programming guide:

Finally, it is not possible to display key artwork above the top edge of a custom keyboard’s primary view, as the system keyboard does on iPhone when you tap and hold a key in the top row.

So it seems like you can't add pop-up outside the keyboard frame, so codelgnitor's answer is the best you can do.

like image 45
Mx83 Avatar answered Sep 17 '22 21:09

Mx83