brew install git bash-completion
Configure things:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
brew install git bash-completion
Configure things:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
CATransform3D transformation = CATransform3DIdentity; | |
// x line | |
transformation.m11 = 1; // 20% less wide wall | |
transformation.m12 = 0; //-1 / 10.0; // skews left up, right down if >0 | |
transformation.m13 = 0; // extends sideways for a short time | |
transformation.m14 = 0;// // 1 / 5000 = left side towards viewer, right side away from viewer | |
// y line | |
transformation.m21 = 0; //-1 / 2.0; // skews bottom left, top right if <0 | |
transformation.m22 = 1; // .8 - 20% less tall | |
transformation.m23 = 0; // extends upward for a short time |
#!/bin/bash | |
all_assets=`find $1 -type f | uniq | grep -v @2x` | |
for asset in $all_assets; do | |
name=`basename $asset | cut -d . -f 1` | |
count=`git grep $name | grep -v project.pbxproj: | wc -l` | |
echo -e "$count\t$asset" | |
done |
In this article, I'm going to explore a way that we can create views that implement custom Core Animation property animations in a natural way.
As we know, layers in iOS come in two flavours: Backing layers and hosted layers. The only difference between them is that the view acts as the layer delegate for its backing layer, but not for any hosted sublayers.
In order to implement the UIView
transactional animation blocks, UIView
disables all animations by default and then re-enables them individually as required. It does this using the actionForLayer:forKey:
method.
Somewhat strangely, UIView
doesn't enable animations for every property that CALayer
does by default. A notable example is the layer.contents
property, which is animatable by default for a hosted layer, but cannot be animated using a UIView
animation block.
Apple will reject apps that are using private url schemes (Ugh, Apple....) if they are pretty much obvius. Some apps are rejected and others are not, so, be aware of this issue before implementing any of those URL's in your app as a feature.