相关疑难解决方法(0)

轻松解除键盘的方法?

我的桌子中有很多控制台分散在我的桌子中,我想知道是否有一种更简单的方法来解除键盘,而不必遍历所有控件并将它们全部作为第一响应者重新签名.我想这个问题是..我如何才能获得键盘当前的第一响应者?

sdk cocoa-touch objective-c

375
推荐指数
12
解决办法
20万
查看次数

在不使用私有API的情况下获取当前的第一响应者

我在一周前提交了我的应用程序,今天收到了可怕的拒绝电子邮件.它告诉我我的应用程序无法被接受,因为我使用的是非公共API; 具体来说,它说,

应用程序中包含的非公共API是firstResponder.

现在,违规的API调用实际上是我在SO上找到的解决方案:

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView   *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
Run Code Online (Sandbox Code Playgroud)

如何在屏幕上显示当前的第一响应者?我正在寻找一种不会让我的应用被拒绝的方法.

cocoa-touch objective-c first-responder

334
推荐指数
15
解决办法
15万
查看次数

错误'_BSMachError:port 1607; (os/kern)iOS 10上的Cordova应用程序中的无效功能(0x14)"无法插入COPY_SEND"

一切正常,直到我使用Xcode 7.3.0构建我的cordova应用程序,但是只要我在使用Xcode 8构建相同的应用程序时,只要我将方向从Portrait更改为Landscape,它在iOS 10设备上开始崩溃,因为它在iOS上仍能正常工作9.3.1.在调试器中,我得到以下日志:

2016-09-24 18:14:41.212470 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.613460 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.613947 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.614469 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to deallocate send right"
Message from debugger: Terminated due to memory issue
Run Code Online (Sandbox Code Playgroud)

下面是堆栈跟踪

警告:无法从dyld共享缓存加载任何Objective-C类信息.这将显着降低可用类型信息的质量.

* …
Run Code Online (Sandbox Code Playgroud)

objective-c cordova ios10 xcode8

62
推荐指数
5
解决办法
8万
查看次数

用户点击文本域外的其他区域时如何关闭键盘?

今天我试着在我的iPod(iOS 6.1.3)上运行我的代码,我在这里发现了一些有趣的东西......

首先,当我点击文本字段时,键盘会显示,但当我点击文本字段外的其他位置时,它不会隐藏.

所以我决定使用Google搜索并找到了这个解决方案:

_fieldEmail.delegate = self;
_fieldEmail.returnKeyType = UIReturnKeyDone;

_fieldPassword.delegate = self;
_fieldPassword.returnKeyType = UIReturnKeyDone;

_fieldRegisterName.delegate = self;
_fieldRegisterName.returnKeyType = UIReturnKeyDone;

_fieldRegisterEmail.delegate = self;
_fieldRegisterEmail.returnKeyType = UIReturnKeyDone;

_fieldRegisterPassword.delegate = self;
_fieldRegisterPassword.returnKeyType = UIReturnKeyDone;
Run Code Online (Sandbox Code Playgroud)

它有效...它在键盘底部给出一个"完成"按钮,现在可以通过按下它来隐藏键盘.

但我这里有两个问题:

  1. 键盘只有在点击"完成"按钮时才会隐藏.不要通过点击文本字段外的其他区域.我不知道iOS世界是否正常,但通常我看到很多应用程序都不像这样.
  2. 有没有办法循环这个过程所以我没有手动添加该委托我所拥有的所有文本域?怎么做?

这就是我需要知道的

objective-c ios

52
推荐指数
5
解决办法
6万
查看次数

标签 统计

objective-c ×4

cocoa-touch ×2

cordova ×1

first-responder ×1

ios ×1

ios10 ×1

sdk ×1

xcode8 ×1