Вы можете воспользоваться приведенной ниже функцией, которая зависит от количества объектов, как вы указали ранее, и если в массиве будет больше объектов, каждая анимация будет выполняться с меньшей задержкой, но, тем не менее, задержка первого элемента будет длиннее последней: ]
for (i,object) in objects.enumerated() {
object.animate(withDelay: ((1/((i+1)*0.5)) * 0.25) / objects.count)
}
Есть много паратезов, но я надеюсь, что это повысит читабельность, также я применил i + 1, чтобы у вас не было проблемы деления на ноль для первого элемента.
С этой формулой я надеюсь, что задержка будет постепенно и плавно уменьшаться, когда в вашем массиве большое количество объектов.
Примечание:
objects.count
с (2 * objects.count)
(objects.count / 2)
Это - способ вставить любое статическое значение в XAML. Например, если у меня есть класс:
namespace A
{
public class MyConstants
{
public static readonly string SomeConstantString = "BAM!";
}
}
я могу поместить его в UI WPF с помощью XAML как это:
<TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" />
Уведомление, необходимо будет импортировать пространство имен, в котором MyConstants определяется в XAML. Таким образом в или элемент делают что-то как:
xmlns:A="clr-namespace:A"
Из MSDN: http://msdn.microsoft.com/en-us/library/ms742135.aspx
Ссылки любой статический объект кода значением, определенный в Общеязыковой спецификации (CLS) совместимым путем, свойство, на которое ссылаются, оценено до загрузки остатка страницы XAML и может использоваться для обеспечения значения свойства в XAML.
Я нашел вопрос XAML - Доступ к статическим полям наличие ответа, который связывается с документацией MSDN x:Static Расширение Разметки . Я полагал, что это все еще будет полезно, чтобы иметь на сайте.