gpt4 book ai didi

iphone - UITextField 不显示键盘

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:11:02 29 4
gpt4 key购买 nike

我遇到间歇性问题,键盘不会显示在 UITextField 上。

大多数时候都会发生,但不是每次都会发生。

我真的无法确定导致它的操作。

我已经订阅了 UIKeyboardDidShowNotification,其中的通知用户数据是:

    0x15581730 {name = UIKeyboardDidShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = "0.25";
UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 0}}";
UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 568}";
UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 568}";
UIKeyboardFrameBeginUserInfoKey = "NSRect: {{inf, inf}, {0, 0}}";
UIKeyboardFrameChangedByUserInteraction = 0;
UIKeyboardFrameEndUserInfoKey = "NSRect: {{inf, inf}, {0, 0}}";
}}

NSRect: {{inf, inf}, {0, 0}} 似乎是问题所在,因为这两个值在键盘显示时有效。

该应用程序非常标准。这是一个导航堆栈,这发生在堆栈中大约 4 层的 View Controller 上。所有文本字段委托(delegate)都已设置,我看不到关于 View 或 Controller 的任何其他奇怪之处。

有人见过这个吗?

最佳答案

你能记得关于你的应用程序的任何细节吗?我认为这可能与 iOS 6 的方向 API 更改有关。我遇到了同样的问题,并且遭受了一些不直观的定向行为的困扰。

具体来说,我的应用将 UIInterfaceOrientationMaskPortraitUp 指定为 Info.plist 和根 UIViewController 的 supportedInterfaceOrientations: 实现中唯一允许的方向。对于 shouldAutorotate,我也一直从我的根 UIViewController 返回 NO。我使用 UIDevice 的方向来确定如何呈现我的子 UIViewControllers 并使用呈现的 UIViewController 类型和 UIDeviceOrientation 的函数设置状态栏方向。

这导致了一个相当简单但在 iPad 上(这是一个 iPhone 应用程序),当从横向启动板启动时,呈现的 UIViewController(和状态栏)将垂直于窗口框架定向,并且不会向后旋转.

它还在 iPhone 3GS 上造成了一些非常奇怪的间歇性方向/窗口框架错误,其中 RootViewController 的框架被赋予了一些比设备大得多的愚蠢尺寸。

我改变了什么(在我的根 UIViewController 中):

- (BOOL)shouldAutorotate
{
return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}

- (BOOL)shouldAutomaticallyForwardRotationMethods
{
return NO;
}

我也不再使用设备方向来确定正确的方向,仅依赖于呈现的 UIViewController 类(由导航决定)。这具有解决简单的 iPad 方向错误的预期效果,但我没有看到奇怪的间歇性错误或您也遇到的键盘错误的实例。

关于iphone - UITextField 不显示键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15501665/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com