Как сделать всплывающие окна, как клавиатурные символы в пользовательской клавиатуре iOS8?
Я хочу создать всплывающее окно в пользовательской клавиатуре iOS8, как показано ниже.
![Want to create this type of keyboard in iOS8]()
Некоторые коды работают, но не могут получить доступ к внешнему окну клавиатуры и возникают проблемы, как показано на рисунке ниже.
![Issue in iOS8 Custom Keyboard]()
Ответы
Ответ 1
Из Руководство по программированию расширения приложений Apple:
Наконец, невозможно отобразить ключевые иллюстрации выше верхнего края основного вида пользовательских клавиатур, как это делает системная клавиатура iPhone, когда вы нажимаете и удерживаете клавишу в верхней строке.
Таким образом, кажется, что вы не можете добавить всплывающее окно вне рамки клавиатуры, поэтому ответ составителя - это лучшее, что вы можете сделать.
Ответ 2
Это то, что я сделал в своей пользовательской клавиатуре, работая
//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 subview
[popUp addSubview:text];
//add pop up view as button 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]()