5

我正在使用 WatchKit 开发应用程序

我想创建一个WKInterfaceTimer,当我点击一个按钮时,计时器从0 秒开始

但是当我运行应用程序时,计时器会自动启动,我无法在之前或之后停止计时器

这是代码:

 [self.mytimer setHidden:NO];
 [self.mytimer start];

在情节提要中,我设置了简短的“第二分钟小时”,全部勾选并取消勾选启用

我需要使用 [self.mytimer setDate:];

如果是,请给我显示标签 0 secends 的确切短字符串

4

1 回答 1

7

我不确定您的要求是什么,但我在我的故事板中为手表放置了一个计时器,其下方有一个按钮。然后我确保使用缩写格式启用了计时器(确保选择了秒、分和小时)。确保计时器已启用,否则它不会出现在您的视图中,目前我找不到以编程方式启用计时器的方法。还要确保在您按下开始按钮时设置日期,否则计时器将在您不知道的情况下开始计时。在 WKInterfaceTimer 的类中,start 方法只更新标签,实际上并没有启动任何类型的计时器。下面的代码使定时器从 0 开始计数。

#import "InterfaceController.h"


@interface InterfaceController()
@property (weak, nonatomic) IBOutlet WKInterfaceTimer *testTimer;
@end


@implementation InterfaceController

- (instancetype) initWithContext: (id) context
{
    self = [super initWithContext:context];
    if (self)
    {
        NSLog(@"Custom init called for InterfaceController!");
    }
    return self;
}

- (void) willActivate
{
    [self.testTimer stop];
    NSLog(@"Activated!");
}

- (IBAction) onStartButtonPressed
{
    [self.testTimer setDate:[NSDate dateWithTimeIntervalSinceNow:-1]];
    [self.testTimer start];
    NSLog(@"Start button pressed!");
}
@end

在 willActivate 下停止计时器的原因是它不会在视图一显示就开始向上计数。

于 2014-12-03T21:00:14.170 回答