views:

120

answers:

1

I want to make an app like "10,500 cool facts"

Basically, there is some text on background, and then the user will shake, or slide right/left to navigate between the different facts.

I am new to iPhone programming/SDK, so wondering if anyone could help me get started. How do I implement a shake / slide function?

+1  A: 

First, I urge caution when wanting to use a shake gesture for anything, especially if you are new to iOS programming. It was all the rage when the first apps started coming out, until people started realizing that shaking was being used for just about anything, making it mostly a meaningless feature. It's become, for the lack of a better term, passe.

If you're committed to the shake gesture, you'll want to subclass UIWindow and implement the following methods:

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent*)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent*)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent*)event;

The UIEventSubtype you're looking for is UIEventSubtypeMotionShake.

As for your "slide" function, I assume you're basically talking about paging between screens horizontally. There are a number of ways you can do this, and I think it will boil down to how you're implementing your underlying view controller hierarchy. I haven't done it myself, but if I were, I'd probably just manually detect user touches on my view to determine if someone's swiping left-to-right or right-to-left, and then change views with a matching transition animation.

Shaggy Frog