From Apple's document about UIAppearance:
To customize the appearances for instances of a class contained within an instance of a container class, or instances in a hierarchy, use +appearanceWhenContainedIn: for the appropriate appearance proxy.
In any given view hierarchy the outermost appearance proxy wins. Specificity (depth of the chain) is the tie-breaker.
In other words, the containment statement is treated as a partial ordering. Given a concrete ordering (actual subview hierarchy), we select the partial ordering that is the first unique match when reading the actual hierarchy from the window down.
Can somebody given an example for the case where a hierarchy could be specified?
Consider the case that I wish to style UITableViewCells for only a particular UITableViewController subclass's instance
[[UITableViewCell appearance] setTintColor:[UIColor whiteColor]];
But only for one of the SomeXYZTableViewController's instances, i.e. for two different instances of SomeXYZTableViewController, I want a different tint color.
There are tons of other ways to do this, but I am simply wondering if it's possible.