OStack程序员社区-中国程序员成长平台

标题: ios - 如何处理 Apple Watch 上的按钮点击? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 05:44
标题: ios - 如何处理 Apple Watch 上的按钮点击?

我的主界面中有一个按钮。我从 Storyboard 中的按钮 ctl + dragInterfaceController.m 然后将 NSLog 放入生成的方法中。这就是代码的样子

#import "InterfaceController.h"


@interface InterfaceController()

@end


@implementation InterfaceController

- (void)awakeWithContextid)context {
    [super awakeWithContext:context];
     NSLog(@"awakeWithContext!");
    // Configure interface objects here.
}

- (IBAction)Alarm {
    NSLog(@"Alarm!");

}

- (void)willActivate {
    // This method is called when watch view controller is about to be visible to user
    [super willActivate];
     NSLog(@"willActivate!");
}

- (void)didDeactivate {
    // This method is called when watch view controller is no longer visible
    [super didDeactivate];
     NSLog(@"didDeactivate!");
}

@end

我还截取了显示日志的屏幕截图。当我按下模拟器中的警报按钮时,不会出现日志。

enter image description here

更新

我只是按照此视频中的示例进行操作。 “如何使用 Xcode 将 WKInterfaceButton 连接到代码中的操作”https://www.youtube.com/watch?v=CuCuL-a608w

我将此添加到标题 - (IBAction)alarmPressedid)sender; 我把它放在 View Controller 中

- (IBAction)alarmPressedid)sender
{
     NSLog(@"alarmPressed!");
}

我将发送的 Action 选择拖到 Interface Controller 并选择 alarmPressed。按下时仍然不会产生日志。特征还包括“启用用户交互”



Best Answer-推荐答案


很遗憾,watchKit 不支持 id)sender 参数。所以你的 IBAction 应该只是阅读

-(IBAction)alarmPressed{
    NSLog(@"alarmPressed!"):
}

还要确保该点已填充。如果不是,则意味着您需要单击空心点并将其拖到您的按钮上。

A Working outlet

关于ios - 如何处理 Apple Watch 上的按钮点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921864/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4