我无法理解 - (void)playInputClick;

Ben*_*ard 5 iphone cocoa-touch objective-c uikit ios

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

我正在尝试使用playInputClick函数按下它上面的按钮,但我无法弄清楚如何.在苹果的文档说,我需要添加添加一个委托方法的观点,但认为是在Interface Builder创建纯粹,所以我不知道怎样才能做到这一点.

有谁知道如何使这项工作?似乎没有在互联网上任何地方使用此方法的示例代码.

jca*_*ll1 5

假设您尝试在 inputAccessoryView 中执行此操作:

.h文件中,表明您实现了UIInputViewAudioFeedback

@interface YourAcessoryView : UIView <UIInputViewAudioFeedback>
Run Code Online (Sandbox Code Playgroud)

.m文件中添加这个方法来满足协议

- (BOOL)enableInputClicksWhenVisible {
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

当按下按钮时,执行如下操作:

- (void)buttonPressed:(UIButton*)sender
{
    [[UIDevice currentDevice] playInputClick];
    // do more stuff
}
Run Code Online (Sandbox Code Playgroud)


Pra*_*n S -2

您需要实现一个视图控制器类,并在界面生成器中将文件的所有者指定为此类。将视图控制器的视图连接到您的视图。

完成后,您可以在视图控制器中实现委托。它非常简单直接。基本上你的视图将是视图控制器类的成员。