So here is what this code is doing right now:
the starAnimation rotates and scales down,
the starAnimation rotates and scales back up to size (since I have it set to autoreverse),
then the starAnimation disappears (it obviously goes to the -0.1, -0.1)

Does anyone have any idea how I can get the starAnimation to scale down, back up, and then stay put?

The code you have listed will not change the opacity at all - there is no fade effect. Although, it is possible it looks like it is fading out because it will disappear for a short period of time.

You can create another basic animation object that affects the transform and add it to the layer at the same time. (Or group them, whatever works for you.) Note that the transform you are using will flip the star image upside down and across momentarily. Might not be what you want. You might want to use the values (0.01, 0.01) instead to it scales very small.

Also, because you are interacting directly with the layer, you will be using CATransform3D instead of CGAffineTransform. Same idea, except your function call will include a scale on the Z-axis which must be 1.

Sorry for misleading you â€“ I misrepresented what I want my code to do: I need the star to get small, then large again, and stay there. So you are saying if that's what I'm doing I need to use CATransform3D instead? Would you mind giving me some example code? Sorry again for the confusion.

Every view has a layer. It is really just a bitmap. The view itself isn't a visible object, only its layer is. You can add animation objects to layers. An animation object will affect the property of a layer that matches the name of the key path of the animation object. Basic animation objects (CABasicAnimation) interpolate between two values. The type of the value in the toValue and fromValue must match the type of the property. It also must be wrapped in an NSValue or NSNumber object (values for structures, numbers for scalars).

A UIView transition is a shortcut for using animation objects. Personally, I prefer using animation objects directly as there are more properties to animate and you have greater control. Also, you can have explicit layers (ones that are not owned by a view) in a layer hierarchy that must be animated via animation objects.

EXCELLENT! I will try this â€“ looks like it will work though.
Thank you for the help. I have been working on an iPhone App for the past few weeks now and had a few kinks to work out, so your help is much appreciated.