iphone - 我无法理解 - (void)playInputClick;

标签 iphone objective-c ios cocoa-touch uikit

我有一个用于 UITextField 设置的 inputAccessoryView,它在需要时从 XIB 加载(与 Apple 的 KeyboardAccessory 示例完全相同)。

我正在尝试使用 playInputClick 函数使其上的按钮在按下时单击,但我不知道如何操作。 Apple documentation说我需要向 View 添加一个委托(delegate)方法,但 View 是纯粹在界面生成器中创建的,所以我看不出如何做到这一点。

有谁知道如何使这个工作?在 Internet 上的任何地方似乎都没有使用此方法的示例代码。

最佳答案

我一直有同样的问题,终于弄明白了。

如果您在 UIViewController 中实现该协议(protocol),则它不起作用。它需要在 UIView 子类中实现。

所以为了让它工作,我在界面生成器中创建了一个带有 View Controller 的 View 。然后我添加了另一个类,它是 UIView 的子类。此类实现 UIInputViewAudioFeedback 协议(protocol)。然后在界面生成器中,我转到 View 的身份检查器并将类更改为实现 UIInputViewAudioFeedback 协议(protocol)的 UIView 子类。键盘敲击声现在可以正常工作了。

我的 View Controller 仍在调用 [[UIDevice currentDevice] playInputClick],我所做的只是将 UIInputViewAudioFeedback 协议(protocol)的代码移动到 UIView 子类中,并将我的 View 类设置为我的 UIView 子类。

关于iphone - 我无法理解 - (void)playInputClick;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6872239/

相关文章:

iphone - 如何让UIView始终出现在最前面?

objective-c - iOS6 UIImage 导致崩溃

iphone - 在 iPhone 上录制自定义覆盖

objective-c - 如何确定选择器的参数/关键字的数量

ios - AWS SDK Linker Flags 与导入的项目冲突

iphone - AVCaptureDevice 相机缩放

iphone - cocos2d 中 ipad 视网膜中的游戏图形模糊

iphone - Twitter 用户/搜索问题

ios - 在 viewDidLoad IOS 10 中获取内部 View 大小

ios - 为什么 UITableView 的内容大小会变化