iOS 10之后键盘扩展无法正常工作
不久前,我在iOS 9上使用了表情符号 iOS 10发布后,它停止工作,现在只加载底部视图。 我不太清楚我的代码有什么问题,或者iOS 10有什么变化,我花了几天时间在网上搜索,但没有找到任何有用的东西 下面是它应该加载表情符号的代码iOS 10之后键盘扩展无法正常工作,ios,iphone,xcode,custom-keyboard,Ios,Iphone,Xcode,Custom Keyboard,不久前,我在iOS 9上使用了表情符号 iOS 10发布后,它停止工作,现在只加载底部视图。 我不太清楚我的代码有什么问题,或者iOS 10有什么变化,我花了几天时间在网上搜索,但没有找到任何有用的东西 下面是它应该加载表情符号的代码 - (void)loadNthEmoji{ [self.keyboard.imvFavorite setBackgroundImage:[UIImage imageNamed:@"btn_favorite"] forState:UIControlSta
- (void)loadNthEmoji{
[self.keyboard.imvFavorite setBackgroundImage:[UIImage imageNamed:@"btn_favorite"] forState:UIControlStateNormal];
NSInteger nTag = [defaults integerForKey:@"EMOJI_FACE_EMOJI_KIND"];
if (nTag == 0)nTag = 1;
[self setAlpha:nTag];
[self removeSubViewFromEmojiView];
CGRect rectWrapper = self.keyboard.scvEmojis.frame;
CGFloat fSpace = 4;
NSInteger nEmojiRow = 3;
CGFloat fHeight = ((rectWrapper.size.height - (nEmojiRow + 1) * fSpace) / nEmojiRow);
CGFloat fWidth = fHeight;
NSInteger nCount = [[arrCounts objectAtIndex:nTag]integerValue];
for (NSInteger i = 0 ; i < nCount; i ++){
NSInteger nRow = i % nEmojiRow;
NSInteger nColumn = i / nEmojiRow;
CGRect rectFrame = CGRectMake(fSpace + (fSpace + fWidth) * nColumn, fSpace + (fSpace + fHeight) * nRow, fWidth/1.3, fHeight/1.3);
UIImageView *imvEmoji = [[UIImageView alloc]initWithFrame:rectFrame];
imvEmoji.contentMode = UIViewContentModeScaleAspectFit;
imvEmoji.tag = 10000 * nTag + i;
[imvEmoji setImage:[UIImage imageNamed:[NSString stringWithFormat:@"ec%i (%i).png", (int)nTag, (int)i + 1]]];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tabEmoji:)];
[imvEmoji setUserInteractionEnabled:YES];
[imvEmoji addGestureRecognizer:tapGesture];
[self.keyboard.scvEmojis addSubview:imvEmoji];
}
[self.keyboard.scvEmojis setContentSize:CGSizeMake(fSpace + (fSpace + fWidth) * ((int)(nCount / nEmojiRow) + (nCount % nEmojiRow == 0 ? 0 : 1)), rectWrapper.size.height)];
[activityIndicatorView stopAnimating];
[self.keyboard.viewEmoji setHidden:NO];
}
-(void)loadNthEmoji{
[self.keyboard.imvFavorite setBackgroundImage:[UIImage ImageName:@“btn_favorite”]用于状态:UIControlStateNormal];
NSInteger nTag=[默认整数:@“表情脸”表情种类];
如果(nTag==0)nTag=1;
[自我设定α:nTag];
[self-RemoveSubview fromMojiView];
CGRect rectWrapper=self.keyboard.scvEmojis.frame;
cgfspace=4;
NSInteger-nEmojiRow=3;
CGFloat FHHEIGHT=((rectWrapper.size.height-(nEmojiRow+1)*fSpace)/nEmojiRow);
CGFloat fWidth=fh高;
NSInteger nCount=[[arrCounts objectAtIndex:nTag]integerValue];
对于(NSInteger i=0;i
编辑:仍然不走运,有什么帮助吗?我通过为高度设置一个新的约束来解决这个问题。以防它能帮助任何有同样问题的人。我尝试了很多我找到的答案,但都对我有用
您是否在模拟器上进行测试?如果是,则检查模拟器->硬件->键盘->切换软件键盘。在模拟器和iPhone中测试。键盘出现了,但它没有显示完整的视图,只有底部的barDid,你明白了吗?我相信我遇到了同样的问题,在这里的一个示例项目中概述:@Dima不,我没有,但是的,它看起来像是同一个问题。如果我得到它,我会和你分享solved@emiliomarin我也面临同样的问题。你有没有找到解决这个问题的方法?所以你只需要为高度设置一个显式常量?不同的屏幕尺寸和方向如何?它在iPad Pro上看起来像什么?@Dima在我的例子中,它只有一个尺寸,没有使用iPad,只有肖像。但我相信你的问题在于你的约束,玩弄它them@emiliomarin这是可行的,但我认为这不是正确的解决办法。如果我的键盘设置为横向和纵向模式,我应该怎么做??