2014-12-11 3 views

ответ

20

После некоторых исследований я нашел решение, это довольно простой, но легко игнорировать :)

Во-первых, перетащите кнопку на сцене, созданной в раскадровке.

Второй, нажмите кнопку, чтобы изменить ее имущество content от Text до Group. Если вы не можете найти content собственности, нажмите кнопку Attributes Inspector в верхней правой части экрана, это похоже на кнопку точки останова или стрелку вниз со штангой.

enter image description here

Теперь вы можете контролировать группу, созданную внутри кнопки. Вам нужно добавить ссылку на этот код WKInterfaceGroup внутри вашего кода контроллера. Вот пример:

@interface AAPLButtonDetailController() 
@property (weak, nonatomic) IBOutlet WKInterfaceGroup *buttonGroup; 
@end 


@implementation AAPLButtonDetailController 

- (instancetype)init { 
    self = [super init]; 

    if (self) { 
     // Initialize variables here. 
     // Configure interface objects here. 
     [_buttonGroup setBackgroundImageNamed:@"Bus"]; 
     [_buttonGroup startAnimating]; 
    } 

    return self; 
} 

Таким образом, анимация кнопок будет воспроизводиться после инициализации сцены. Помните только кадр анимация поддерживается в настоящее время, все кадры в одной анимации должны быть названы как «Bus0.png», «Bus1.png» ....

enter image description here

Надеется, что это может помочь :)

+0

Это действительно хорошо. Я использую анимированные тонкости кнопок во всем приложении для наблюдения за эффектами. Также, если вам все равно, если ваша анимация цикла бесконечно, вы также можете установить анимацию в качестве фона группы. Много маленьких трюков. Я уверен, что мы сможем работать с основной графикой с новым процессором Apple Watch 2. – tymac

1

Запись Река работала для меня в случаях, когда мне нужно было контролировать количество повторов или продолжительность повтора. Если вы просто хотите запустить или остановить анимацию для кнопки, для меня работает следующее, где twoButton - это WKInterfaceButton, и у меня есть набор изображений с именем [email protected], [email protected] и т. Д.

- (void)startButtonAnimating 
{ 
    // This works, but can't control repeat counts or duration 
    [self.twoButton setBackgroundImageNamed:@"Bus"]; 
    // But you can stop after a delay by setting background image nil 
    [self performSelector:@selector(stopGroupButtonAnimating) withObject:nil afterDelay:1.5]; 
} 

- (void)stopButtonAnimating 
{ 
    [self.twoButton setBackgroundImage:nil]; 
} 
Смежные вопросы