You are reading 13.0.1. See this page in 13.4.1.
Titanium.UI.iOS.PushBehavior
Extends Titanium.Proxy
Continuous or instantaneous force to apply to an item.
A push behavior configures the continuous or instaneous force to apply to one or more items. To define a push behavior:
- Use the Titanium.UI.iOS.createPushBehavior method to create and define the behavior.
- To define a force vector, either set the angle and magnitude properties, or set the pushDirection property.
- Use the addItem method to add items to the behavior.
- Add the behavior to an Animator object.
Examples
Simple Example
The following example generates a random push force on the block when it stops.
var win = Ti.UI.createWindow({backgroundColor: 'white', fullscreen: true});
// Create an Animator object using the window as the coordinate system
var animator = Ti.UI.iOS.createAnimator({referenceView: win});
var block = Ti.UI.createView({
width: 100,
height: 100,
backgroundColor: 'blue',
transform: Ti.UI.createMatrix2D({ rotate: 45 })
});
// Create a default collision behavior, using the window edges as boundaries
var collision = Ti.UI.iOS.createCollisionBehavior();
collision.addItem(block);
animator.addBehavior(collision);
// Push the block down when the application first starts
var push = Ti.UI.iOS.createPushBehavior({
pushDirection: {x: 0.0, y: 1.0},
pushMode: Ti.UI.iOS.PUSH_MODE_INSTANTANEOUS
});
push.addItem(block);
animator.addBehavior(push);
// Apply a new push behavior when the item stops
animator.addEventListener('pause', function(e){
push.angle = 2 * Math.PI * Math.random();
push.magnitude = Math.random() * 5 + 5;
push.active = true;
});
animator.addEventListener('resume', function(e){
Ti.API.info(JSON.stringify(
'push force: ' + push.magnitude * 100 + " points/s^2 @ "
+ (push.angle * 360 / (2 * Math.PI)) + " degrees")
);
});
// Start the animation when the window opens
win.addEventListener('open', function(e){
animator.startAnimator();
});
win.add(block);
win.open();
Properties 8
active
BooleanState of the push behavior's force.
Set to true to activate the force or false to deactivate it. Use this property rather
than removing and re-adding the behavior to the animator.
Default: true
angle
NumberSpecifies the angle of the force vector in radians.
To configure the force vector, you need to also specify the magnitude property.
Default: 0
Inherited from Titanium.Proxy
The name of the API that this proxy corresponds to.
Inherited from Titanium.Proxy
Indicates if the proxy will bubble an event to its parent.
Default: true
Items added to this behavior.
magnitude
NumberSpecifies the magnitude of the force vector.
A value of 1.0 represents an acceleration of 100 points per second squared if the item is
100 x 100 points with a density of 1.0.
To configure the push vector, you need to also specify the angle property.
Default: 0
Specifies the direction of the force vector as an x, y pair.
For example, specifiying {x: 0.0, y: 1.0} indicates a positive upward force of 100
points per second squared if the item is 100 x 100 points with a density of 1.0.
Specifiying a negative value reverses the direction of the force.
Default: (0,0)
pushMode
NumberSpecifies the push mode.
Default: <Titanium.UI.iOS.PUSH_MODE_CONTINUOUS>
Methods 6
Inherited from Titanium.Proxy
Adds the specified callback as an event listener for the named event.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to invoke when the event is fired. 4 fields
|
Adds an item to this behavior.
| Parameters | Type | Description |
|---|---|---|
| item | Titanium.UI.View | View object to add to the behavior. |
applyProperties
since 3.0.0Inherited from Titanium.Proxy
Applies the properties to the proxy.
| Parameters | Type | Description |
|---|---|---|
| props | Dictionary | A dictionary of properties to apply. |
Inherited from Titanium.Proxy
Fires a synthesized event to any registered listeners.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| event? | Dictionary | A dictionary of keys and values to add to the Titanium.Event object sent to the listeners. |
Inherited from Titanium.Proxy
Removes the specified callback as an event listener for the named event.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to remove. Must be the same function passed to 4 fields
|
Removes the specified item from this behavior.
| Parameters | Type | Description |
|---|---|---|
| item | Titanium.UI.View | Item to remove. |