gpt4 book ai didi

iphone - 键盘显示然后在显示 MFMessageComposeViewController 时立即隐藏自己

转载 作者:技术小花猫 更新时间:2023-10-29 10:52:14 25 4
gpt4 key购买 nike

我正在使用适用于 IOS 的 Cordova 2.2 构建一个 PhoneGap 应用程序。在调用我编写的用于显示 MFMessageComposeViewController 的 native obj-c 插件时,我遇到了一些奇怪的行为。

设置非常简单 - 我有一个附加到 UI 元素的点击事件,当按下时,将调用我的 PhoneGap 插件,传递一个数字和一条文本消息,然后显示带有参数的 MFMessageComposeViewController预填充。

我的 javascript 看起来像这样:

$(document).bind('deviceready', function(){ 

$(".theButton").tap(function(){

cordova.exec(function(){}, function() {}, "PhoneGapSms", "SendSms", [db.getItem("profile_sms"), db.getItem("profile_emergency")]);

});
});

我的 obj-c 代码如下所示:

- (void)SendSms:(CDVInvokedUrlCommand*)command
{

CDVInvokedUrlCommand* myCommand = command;

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];

NSString* body = [command.arguments objectAtIndex:0];
NSString* toRecipientsString = [command.arguments objectAtIndex:1];

if(body != nil)
picker.body = body;

if(toRecipientsString != nil)
[picker setRecipients:[ toRecipientsString componentsSeparatedByString:@","]];


picker.messageComposeDelegate = self;

[self.viewController presentModalViewController:picker animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:YES];


[picker release];

}

所以,总而言之,非常简单的事情。

我的问题是:

当我的 iPhone 插入我的 Mac 并且该应用程序从 XCode 运行时,Message Composer 叠加层看起来很棒,我的值已预先填充。下图演示了 SMS 界面在插入 XCode 时显示良好:

enter image description here

当我的 iPhone 从我的 Mac 上拔下,应用程序从跳板运行时,Overlay 向上滑动,键盘开始向上滑动,然后立即向下滑动 strong> - 无法输入或发送消息。这是未连接到 Mac/Xcode 时的样子 - 键盘开始向上滑动然后立即向下滑动(~ < 1 秒),留下以下界面:

enter image description here

我这辈子都想不出是什么导致键盘在不从 XCode 运行时隐藏,但在它运行时却运行良好。

有没有办法“强制”键盘显示,或者可能以某种形式或方式将整个 modalviewcontroller 作为第一响应者?

如有任何建议,我们将不胜感激!

编辑:

如果您点击接触区域,键盘将再次出现

最佳答案

您必须添加 MessageUI.framework到您的 Xcode 项目并包含一个

#import <MessageUI/MessageUI.h>在你的头文件中。

试试这个代码可能对你有帮助..

[self presentModalViewController:picker animated:YES];
//[self becomeFirstResponder];//try picker also instead of self

另请参阅下面的教程并检查演示..

  1. new-tutorial-developing-and-architecting-a-phonegap-application

  2. SMSComposer

希望对你有帮助...

关于iphone - 键盘显示然后在显示 MFMessageComposeViewController 时立即隐藏自己,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884672/

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