In some of the applications that come with the iPhone, such as the App Store and Mobile Safari, Apple uses a technique for paging-enabled UIScrollViews that show a little bit of the neighbouring pieces of content instead of displaying a single view controller over the whole width of the screen. I think those previews are a really great UI element, since they're much easier to spot than the UIPageControl which usually sits right below the UIScrollView. It shows the user that there is more (or no more) content right next to what they are currently seeing.
If you've ever used UIScrollView's pagingEnabled property, you probably know that this is not easily doable. The UIScrollView will stop only at multiples of its frame's width and cannot be configured to stop at shorter intervals. I recently needed to implement a paging-enabled UIScrollView and was trying to replicate this behaviour and found a way to implement these previews.
The solution to this problem is not to get the UIScrollView to use a smaller stepping size than its own frame's width, but to use a smaller UIScrollView. When you use a UIScrollView instance which doesn't take up the whole width of the screen, you can just set its clipsToBounds property to NO and it will draw outside its bounds, i.e. to the left and right of its frame. This is basically the whole secret behind this process. Reduce the size, set the property and it already shows up the way you want it to. The one remaining issue is that touch events outside the actual UIScrollView's frame will not be sent to the view and thus don't cause the view to scroll.
Since you're aiming for a great user experience, you should fix this issue. The easiest way to do this is to wrap the UIScrollView inside a custom UIView subclass and override its -hitTest:withEvent: to return your UIScrollView instance even when the tap is outside its frame. This is just about what your implementation should look like:
In Interface Builder, I've set up my custom UIView to take up as much space as the UIScrollView instance vertically, but extend to the bounds of the parent view horizontally:
The UIScrollView centered inside the view. The blue dots show the bounds of the custom UIView which forwards hit events to the UIScrollView instance.
And that's all there is to it. Again, it's one of those things that are incredibly easy to do on the iPhone.