久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 iOS 9 Shortcut Bar only 模式下,與鍵盤頂部對齊的

View aligned to top of keyboard appears in wrong place in iOS 9 Shortcut Bar only mode(在 iOS 9 Shortcut Bar only 模式下,與鍵盤頂部對齊的視圖出現在錯誤的位置)
本文介紹了在 iOS 9 Shortcut Bar only 模式下,與鍵盤頂部對齊的視圖出現在錯誤的位置的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

iOS 9 為 iOS 8 添加了
(注意紅色視圖是如何連接到鍵盤頂部的)

實際行為:

<塊引用>

將紅色視圖附加到鍵盤頂部的正確方法是什么?

解決方案

問題在于大多數代碼 (

當鍵盤處于僅快捷欄模式時,這是矩形:

<塊引用>

請注意鍵盤的大部分是如何在屏幕外的,但它仍然是相同的高度.

要獲得正確的行為,請使用 CGRectIntersection 與視圖的邊界和該視圖內的鍵盤框架:

//? 好代碼,使用CGRect keyboardScreenEndFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];CGRect keyboardViewEndFrame = [self.view convertRect:keyboardScreenEndFrame fromView:self.view.window];CGRect keyboardFrame = CGRectIntersection(self.view.bounds, keyboardViewEndFrame);CGFloat keyboardHeight = keyboardFrame.size.height;//= 55

出于同樣的原因,應該使用 UIKeyboardFrameEndUserInfoKey 而不是 UIKeyboardFrameBeginUserInfoKey.

iOS 9 adds a Shortcut Bar to the iOS 8 QuickType bar.

As part of this change, if you connect a bluetooth keyboard to an iPad, the keyboard is in a minimized Shortcut Bar only mode (which can be simulated by pressing command-k in the simulator).

I have code which gets the keyboard height using a method similar to the following:

CGRect keyboardFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat keyboardHeight = keyboardFrame.size.height; // = 313

The problem is that when the keyboard is toggled between the expanded and collapsed state, the height remains the same, causing my view to appear in its old location:

Desired behavior:


(Notice how the red view is attached to the top of the keyboard)

Actual behavior:

What's the correct way to get the red view to be attached to the top of the keyboard?

解決方案

The problem is that most code out there (including Apple's) ignores the fact that UIKeyboardFrameEndUserInfoKey is a CGRect and not a CGSize.

// ? Bad code, do not use
- (void)keyboardWasShown:(NSNotification*)aNotification {
    NSDictionary* info = [aNotification userInfo];
    CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
    CGRect bkgndRect = activeField.superview.frame;
    bkgndRect.size.height += kbSize.height;
    [activeField.superview setFrame:bkgndRect];
    [scrollView setContentOffset:CGPointMake(0.0, activeField.frame.origin.y-kbSize.height) animated:YES];
}

Here you see that only the keyboard height (kbSize.height) is being used. The origin of the rect is important, and should not be ignored.

When the keyboard is visible, this is the rect that is reported:

When the keyboard is in Shortcut Bar only mode, this is the rect:

Notice how the majority of the keyboard is offscreen, yet it is still the same height.

To get the correct behavior, use CGRectIntersection with the view's bounds and the keyboard frame within that view:

// ? Good code, use
CGRect keyboardScreenEndFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect keyboardViewEndFrame = [self.view convertRect:keyboardScreenEndFrame fromView:self.view.window];
CGRect keyboardFrame = CGRectIntersection(self.view.bounds, keyboardViewEndFrame);
CGFloat keyboardHeight = keyboardFrame.size.height; // = 55

For this same reason, UIKeyboardFrameEndUserInfoKey should be used as opposed to UIKeyboardFrameBeginUserInfoKey.

這篇關于在 iOS 9 Shortcut Bar only 模式下,與鍵盤頂部對齊的視圖出現在錯誤的位置的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to draw stars using Quartz Core?(如何使用 Quartz Core 繪制星星?)
Why does giving addArcWithCenter a startAngle of 0 degrees make it start at 90 degrees?(為什么給 addArcWithCenter 一個 0 度的 startAngle 使它從 90 度開始?)
Find the CGPoint on a UIView rectangle intersected by a straight line at a given angle from the center point(在與中心點成給定角度的直線相交的 UIView 矩形上找到 CGPoint)
Which is the best way to estimate measure of photographed things?(哪種方法是估計拍攝物體尺寸的最佳方法?)
How to convert an Int to a Character in Swift(如何在 Swift 中將 Int 轉換為字符)
How to create a hex color string UIColor initializer in Swift?(如何在 Swift 中創建十六進制顏色字符串 UIColor 初始化程序?)
主站蜘蛛池模板: 免费观看视频www | 国产一级一级国产 | 欧美aaa一级片| 色影视 | 久久久国产精品入口麻豆 | 中文在线一区二区 | 欧美国产精品一区二区三区 | 亚洲三区在线观看 | 一区二区在线不卡 | 精品国产精品一区二区夜夜嗨 | 国产精品久久久久久福利一牛影视 | 国产精品一区二区福利视频 | 91传媒在线观看 | 成人国产一区二区三区精品麻豆 | 亚洲天堂中文字幕 | 亚洲欧美日韩精品久久亚洲区 | 91精品久久久久久久久久 | 殴美成人在线视频 | 日韩国产精品一区二区三区 | 亚洲一区网站 | 国产成人高清视频 | 香蕉超碰 | 日韩在线免费视频 | 特级特黄特色的免费大片 | 一区二区视频 | 国产视频h | 日日操视频 | 欧美国产日本一区 | 成人黄色av | 毛片久久久 | 国产在线播放av | 国产精品久久av | 国产在线视频一区 | 欧州一区二区 | 亚洲一区在线日韩在线深爱 | 久久一级大片 | 爱综合 | 99精品免费视频 | 精品日韩一区二区 | 欧美国产视频 | 成人精品一区二区三区中文字幕 |