UIDynamicItemBehavior
Наследование
-
NSObject
-
UIDynamicBehavior
-
UIDynamicItemBehavior
-
NSObject
-
UIDynamicBehavior
-
UIDynamicItemBehavior
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 7.0 и позже.
Динамическое поведение элемента представляет основную конфигурацию динамической анимации для одной или более динамических элементов. Каждое из его свойств переопределяет соответствующее значение по умолчанию.
Динамическим элементом является любой iOS или пользовательский объект, соответствующий UIDynamicItem
протокол. UIView
и UICollectionViewLayoutAttributes
классы реализуют этот протокол, запускающийся в iOS 7.0. Можно использовать пользовательский объект в качестве динамического элемента в таких целях как реакция на вращение или изменения позиции, вычисленные динамическим аниматором — экземпляр UIDynamicAnimator
класс.
Одно известное и общее использование динамического поведения элемента должно присудить скорость к динамическому элементу для соответствия конечной скорости пользовательского жеста.
Для использования динамического поведения элемента с динамическим элементом выполните эти два шага:
Свяжите элемент с поведением с помощью
addItem:
метод, или инициализируют новое динамическое поведение элемента с массивом элементов с помощьюinitWithItems:
методВключите поведение путем добавления его к аниматору, использующему
addBehavior:
метод
Система координат, принадлежащая динамическому поведению элемента и типам динамических элементов, которые можно использовать с поведением, зависеть от того, как Вы инициализировали связанного аниматора. Для получения дополнительной информации считайте Обзор Ссылки класса UIDynamicAnimator.
Можно отключить вращение для динамического элемента элементы поведения путем возврата NO
false
от allowsRotation
свойство. Для конфигурирования взаимодействия среди элементов поведения используйте elasticity
и friction
свойства.
Можно включать динамическое поведение элемента в пользовательское, составное поведение начиная с a UIDynamicBehavior
возразите и добавление динамического поведения элемента с addChildBehavior:
метод. Если Вы хотите влиять на динамическое поведение элемента на каждом шаге динамической анимации, реализуйте наследованный action
метод.
Если Вы добавляете больше чем одно динамическое поведение элемента к аниматору, Вы эффективно создаете дерево поведения. Только одна конфигурация данного свойства применяется к любому данному динамическому элементу. Для свойства, сконфигурированного больше чем в одном динамическом поведении элемента, последнем в дереве поведения, запускающемся от динамического аниматора и идущей глубины сначала к динамическому элементу, победам.
В случае аниматора точно с одним динамическим поведением элемента можно восстановить значения по умолчанию для всех динамических свойств поведения элемента путем удаления поведения. В случае аниматора, к которому Вы применили многократные динамические способы поведения элемента, удалив, каждый вынимает его вклад свойства из дерева поведения.
-
Добавляет динамический элемент к динамическому массиву элемента поведения элемента.
Объявление
Swift
func addItem(_
item
: UIDynamicItem)Objective C
- (void)addItem:(id<UIDynamicItem>)
item
Параметры
item
Динамический элемент для добавления к массиву элемента.
Обсуждение
Можно добавить динамический элемент к одному или более динамическим способам поведения элемента. Например, Вы могли добавить динамический элемент к одному динамическому поведению элемента сконфигурировать эластичность элемента и к второму динамическому поведению элемента сконфигурировать его плотность. Это особенно полезно при определении пользовательских, объединенных способов поведения для динамических элементов.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
См. также
-
Инициализирует динамическое поведение элемента с массивом динамических элементов.
Объявление
Swift
init(items
items
: [AnyObject])Objective C
- (instancetype)initWithItems:(NSArray *)
items
Параметры
items
Динамические элементы, что Вы хотите подвергнуться динамическому поведению элемента.
Возвращаемое значение
Инициализированное динамическое поведение элемента, или
nil
если была проблема, инициализирующая объект.Обсуждение
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Удаляет определенный динамический элемент из динамического поведения элемента.
Объявление
Swift
func removeItem(_
item
: UIDynamicItem)Objective C
- (void)removeItem:(id<UIDynamicItem>)
item
Параметры
item
Динамический элемент, который Вы хотите удалить.
Обсуждение
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
items
СвойствоВозвращает набор динамических элементов, которые Вы добавили к динамическому поведению элемента. (только для чтения)
Объявление
Swift
var items: [AnyObject] { get }
Objective C
@property(nonatomic, readonly, copy) NSArray *items
Обсуждение
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Добавляет указанная угловая скорость до динамического элемента.
Объявление
Swift
func addAngularVelocity(_
velocity
: CGFloat, forItemitem
: UIDynamicItem)Objective C
- (void)addAngularVelocity:(CGFloat)
velocity
forItem:(id<UIDynamicItem>)item
Параметры
velocity
Угловая скорость, выраженная в радианах в секунду, которые Вы хотите добавить к указанному динамическому элементу. Значение по умолчанию
0
. Применение отрицательной величины сокращает угловую скорость указанной суммой.item
Динамический элемент, угловую скорость которого Вы хотите увеличить (или уменьшение).
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Добавляет указанная линейная скорость к динамическому элементу.
Объявление
Swift
func addLinearVelocity(_
velocity
: CGPoint, forItemitem
: UIDynamicItem)Objective C
- (void)addLinearVelocity:(CGPoint)
velocity
forItem:(id<UIDynamicItem>)item
Параметры
velocity
Линейная скорость, выраженная в точках в секунду, которые Вы хотите добавить к указанному динамическому элементу. Значение по умолчанию
0
. Применение отрицательной величины сокращает линейную скорость указанной суммой.item
Динамический элемент, линейную скорость которого Вы хотите увеличить (или уменьшение).
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
allowsRotation
СвойствоУказывает, позволяется ли вращение для динамических элементов поведения.
Объявление
Swift
var allowsRotation: Bool
Objective C
@property(readwrite, nonatomic) BOOL allowsRotation
Обсуждение
Значение по умолчанию
YES
true
. Для отключения вращения установите это свойство вNO
false
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
angularResistance
СвойствоУгловое сопротивление для динамических элементов поведения.
Объявление
Swift
var angularResistance: CGFloat
Objective C
@property(readwrite, nonatomic) CGFloat angularResistance
Обсуждение
Допустимый диапазон
0
черезCGFLOAT_MAX
. Чем больше значение, тем больше угловое затухание и более быстрое вращение замедляются к остановке.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает угловую скорость для указанного динамического элемента.
Объявление
Swift
func angularVelocityForItem(_
item
: UIDynamicItem) -> CGFloatObjective C
- (CGFloat)angularVelocityForItem:(id<UIDynamicItem>)
item
Параметры
item
Динамический элемент, угловую скорость которого Вы хотите получить.
Возвращаемое значение
Угловая скорость указанного динамического элемента, в радианах в секунду.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
density
СвойствоОтносительная массовая плотность динамических элементов поведения.
Обсуждение
Относительная плотность динамического элемента, вместе с ее размером, определяет свою эффективную массу, когда она участвует в способах поведения Динамики UIKit — включая трение, коллизии, нажатия, и т.д. Например, скажите, что у Вас есть два динамических элемента с той же плотностью, но различными размерами: элемент каждый
100 x 100
точки и элемент два100 x 200
точки. В этом примере элемент два имеет дважды эффективную массу элемента один. В упругом соударении эти элементы показывают естественное сохранение импульса согласно их относительным массам.A
100 x 100
укажите на динамический элемент с плотностью1.0
, к которому Вы применяете силу (через поведение нажатия) величины1.0
, ускоряется в100
точки в секунду ².Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
elasticity
СвойствоСумма эластичности применилась к коллизиям для динамических элементов поведения.
Объявление
Swift
var elasticity: CGFloat
Objective C
@property(readwrite, nonatomic) CGFloat elasticity
Обсуждение
Значение по умолчанию
0.0
. Допустимый диапазон от0.0
ни для какого возврата на коллизию, к1.0
для абсолютно упругих соударений.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
friction
СвойствоЛинейное сопротивление для динамических элементов поведения, когда два скользят друг против друга.
Обсуждение
Значение по умолчанию
0.0
, который не соответствует никакому трению. Используйте значение1.0
применять сильное трение. Для применения еще более сильного трения можно использовать более высокие числа.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
resistance
СвойствоЛинейное сопротивление для динамических элементов поведения, сокращающее их линейную скорость в течение долгого времени.
Объявление
Swift
var resistance: CGFloat
Objective C
@property(readwrite, nonatomic) CGFloat resistance
Обсуждение
Значение по умолчанию
0.0
. Допустимый диапазон от0.0
ни для какого скоростного затухания, кCGFLOAT_MAX
для полного скоростного затухания. Если Вы устанавливаете это свойство в1.0
, движение динамического элемента останавливается, как только нет никакой силы, применился к нему.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает линейную скорость для указанного динамического элемента.
Объявление
Swift
func linearVelocityForItem(_
item
: UIDynamicItem) -> CGPointObjective C
- (CGPoint)linearVelocityForItem:(id<UIDynamicItem>)
item
Параметры
item
Динамический элемент, линейную скорость которого Вы хотите получить.
Возвращаемое значение
Линейная скорость указанного динамического элемента, в точках в секунду.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.