17

我想在 iOS8 自定义键盘中创建弹出窗口,如下图所示。

想在iOS8中创建这种类型的键盘

一些代码正在运行,但无法访问键盘的外部窗口并出现如下图 2 所示的问题

iOS8 自定义键盘中的问题

4

2 回答 2

5

这就是我在自定义键盘中所做的工作

//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];
    }
}

在此处输入图像描述

于 2014-08-19T07:44:49.313 回答
4

来自Apple App Extension Programming 指南

最后,无法在自定义键盘主视图的顶部边缘上方显示按键图稿,就像 iPhone 上的系统键盘在您点击并按住顶行中的键时所做的那样。

所以看起来你不能在键盘框架之外添加弹出窗口,所以codelgnitor的答案是你能做的最好的。

于 2014-08-27T01:30:49.800 回答