Есть ли ActivityIndicator (или что-то вроде этого) в WatchKit для Apple Watch? Как вы все можете дать отзыв пользователей о более продолжительной фоновой активности?
Есть ли ActivityIndicator в WatchKit для Apple Watch?
Ответ 1
Этот поток на форумах разработчиков Apple имеет авторитетный ответ от инженера Apple о том, почему вы не должны выполнять сетевые операции с Apple Watch,
Есть две большие причины не выполнять сетевые операции с вашим приложением/расширением:
-
Пользователи взаимодействуют со своими часами только в течение короткого периода времени. См. Руководства по человеческому интерфейсу на этом.
Если вы измеряете взаимодействие с вашим приложением iOS за считанные минуты, вы можете ожидать, что взаимодействия с вашим приложением WatchKit будут измеряться в считанные секунды. Поэтому взаимодействие должно быть кратким, а интерфейсы должны быть простыми.
-
Система может зайти в тупик, если сетевой запрос не завершен.
Наша рекомендация состоит в том, что в целом вы не должны выполнять сложные сетевые операции внутри расширения WatchKit...
[Apple рекомендует разработчикам] иметь один процесс, который отвечает за обновление информации в вашей базе данных (вероятно, ваше приложение для iOS), а затем ваши расширения будут иметь (по существу) доступ только для чтения к этой [кэшированной] базе данных....
Это сказано. Если вам действительно нужен идентификатор UIActivityIndicator, rdar://19363748 (я не думаю, что этот еще был открыт радаром) разработчики уже подали заявки на официальную поддержку.
Вы можете создать серию изображений в выбранном вами стиле индикатора активности, а затем оживить их с помощью API startAnimatingWithImagesInRange:duration:repeatCount:
. См. Приложение Apple Lister для примера wkinterfaceimage анимации.
В качестве альтернативы посмотрите здесь для учебного пособия по WatchKit Animation и включил "spinner" графика.
Ответ 2
Чтобы добавить параметры, я создал проект JBWatchActivityIndicator
в GitHub, который позволяет создавать собственные последовательности изображений: https://github.com/mikeswanson/JBWatchActivityIndicator
Он также включает анимацию индикаторов активности Apple, если вы не хотите создавать свои собственные.
Ответ 3
Нет способа отображения ActivityIndicator в WatchKit Framework. Однако вы можете подготовить круговой образ и легко создать бесконечную анимацию самостоятельно.
Подготовьте изображения и назовите их так:
frame-0, frame-1, frame-2...frame-n
а затем в вашем коде:
[self.yourInterfaceImage setImageNamed:@"firstFrame-"]; //setting first frame
[self.yourInterfaceImage startAnimatingWithImagesInRange:[self.model imageRange]
duration:0.4
repeatCount:0];
// [self.model imageRange] will return NSRange from 0 to n
// repeatCount == 0 means infinity. Of course you can set some limit, like 100.
Надеюсь, что это поможет.
Ответ 4
Я построил простой индикатор активности для Apple Watch, доступный здесь https://github.com/tijoinc/WatchActivityIndicator
Ответ 5
По-моему, попытка создать собственный Spinner использует чрезмерные ресурсы. Если бы Apple подумала, что это хорошая идея, они бы предложили это.
Вместо этого вместо этого у меня будет изображение, которое вы настроите Alpha. Используйте логическое значение, чтобы увидеть, следует ли вам добавлять или вычитать Alpha.
if (add)
{
count=count+5;
if (count==100)
{
add=false;
}
}
else
{
count=count-5;
if (count==0)
{
add=true;
}
}
float thealpha=((float)count/100);
[self.scanb setAlpha:thealpha];
}