added OritationFixes

I'd be tempted to define a local helper function like:

    static CGRect CGRectBySwappingWidthAndHeight(CGRect rect)
    {
        rect.size = CGSizeMake(CGRectGetHeight(rect), CGRectGetWidth(rect));
        return rect;
    }

and use it instead of these three lines, like `bounds = CGRectBySwappingWidthAndHeight(bounds);`, then get rid of the definition of `boundHeight` above.