O'Reilly logo

Learning iOS Development: A Hands-on Guide to the Fundamentals of iOS Programming by Erica Sadun, Rod Strougo, Maurice Sharp

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Challenges

1. Add movement as well as pulsing to the about view taxi. The movement should happen during the pulse to suggest that a tap will move the taxi. You can use the existing labelTaxiSpace constraint or introduce others to give the taxi more of a wobble.

2. setupScrollContent in CarImageViewController.m contains a for loop that iterates through image names:

for (NSString *atCarImageName in carImageNames) {

Replace the loop using the array block iterator enumerateObjectsUsingBlock:. The first few lines replacing the for loop look like this:

[carImageNames enumerateObjectsUsingBlock:  ^(id obj, NSUInteger idx, BOOL *stop) {      carImage = [UIImage imageNamed:obj];

You will also ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required