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.
Можно отключить вращение для динамического элемента элементы поведения путем возврата NOfalse от 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(itemsitems: [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)velocityforItem:(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)velocityforItem:(id<UIDynamicItem>)itemПараметры
velocityЛинейная скорость, выраженная в точках в секунду, которые Вы хотите добавить к указанному динамическому элементу. Значение по умолчанию
0. Применение отрицательной величины сокращает линейную скорость указанной суммой.itemДинамический элемент, линейную скорость которого Вы хотите увеличить (или уменьшение).
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
allowsRotationСвойствоУказывает, позволяется ли вращение для динамических элементов поведения.
Объявление
Swift
var allowsRotation: BoolObjective C
@property(readwrite, nonatomic) BOOL allowsRotationОбсуждение
Значение по умолчанию
YEStrue. Для отключения вращения установите это свойство вNOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
angularResistanceСвойствоУгловое сопротивление для динамических элементов поведения.
Объявление
Swift
var angularResistance: CGFloatObjective 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: CGFloatObjective 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: CGFloatObjective 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 и позже.
