2016-09-21 102 views
2

後正常工作我使用表情符號做了一個custom Keyboard app前段時間的iOS 9鍵盤擴展不是iOS的10

後的iOS 10出來它停止工作,現在只加載仰視圖。 enter image description here

我不能完全弄清楚什麼是錯我的代碼或什麼樣的變化與iOS 10,我花了幾天的搜索網站,但無法找到任何有用

下面的代碼,其中它應該加載emojis

- (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]; 

} 

編輯:仍然沒有運氣,任何幫助?

+0

你在模擬器上測試嗎?如果是,則檢查模擬器 - >硬件 - >鍵盤 - >切換軟件鍵盤。 – Sujit

+0

在模擬器和iPhone上進行測試。鍵盤出現了,但它沒有顯示完整的視圖,只是底部的欄 – emiliomarin

+0

你知道嗎?我相信我遇到了同樣的問題,在這裏的示例項目中概述:https://github.com/DimaVartanian/keyboard-extension-height-bug – Dima

回答

2

我解決了它的高度設置一個新的約束。以防止有人遇到同樣的問題。我嘗試了很多我找到的答案,但任何爲我工作。

enter image description here

+0

所以你只是爲高度設置一個顯式常量?不同的屏幕尺寸和不同的方向呢? iPad Pro的外觀如何? – Dima

+0

@Dima在我的情況下,它只有一種尺寸,不使用iPad,只使用肖像。但我相信你的問題必須與你有的限制,玩弄他們 – emiliomarin

+0

@emiliomarin它正在工作,但我認爲這不是正確的解決方案。如果我的鍵盤設置爲橫向和縱向模式,我應該怎麼做? – Ramakrishna