I have found the solution to this issue... viewWillLayoutSubviews
I was prompted by another thread, which pointed to the release notes for iOS6. I added the UIDeviceOrientation and my if/else statement to it. Now the border rotates correctly, regardless of which view I go to or come from!
- (void)viewWillLayoutSubviews
{
UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation))
{
// Landscape
CGRect rect = _libraryTableBorder.frame;
_libraryTableBorder.frame = rect;
_libraryTableBorder.image = [UIImage imageNamed:@"LibraryBorder_L.png"];
}
else if (UIDeviceOrientationIsPortrait(deviceOrientation))
{
// Portrait
CGRect rect = _libraryTableBorder.frame;
_libraryTableBorder.frame = rect;
_libraryTableBorder.image = [UIImage imageNamed:@"LibraryBorder_P.png"];
}
}
This was sure a frustrating issues for me. Hope this helps someone else!