0

I have a UITableViewController as my app's main view controller. When I rotate directly into landscape mode, everything is good and the table cells extend correctly across the screen. However, if I segue to another view, rotate into landscape, then tap the 'Back' button to return to the main view, the cell separators are still sized for portrait mode.

The cells themselves are ok - the disclosure indicator is at the far right, and the whole cell highlights on selection. It's just the separators that are wrong.

If I run the app in the iOS 6 simulator, I don't get the problem. Anyone know what's going on here? And is there any way I can force the separators to extend all the way across the screen?

Thanks in advance...

BTW, I did try to post screenshots, but I'm new around here and don't have the rep yet :-(

fncbloke
  • 23
  • 6
  • could you post your code (snippets)? Like this, it's very hard to see what you actually did. – Axel Jan 12 '14 at 18:27
  • @Axel I'm not sure what would help. The main view has been laid out entirely in Interface Builder with Auto layout and there really isn't anything in my view controller code that's relevant. Interestingly enough, I've just tried this with the ToDoList tutorial that comes with Xcode 5 and it exhibits the same symptoms, although interestingly _only on non-empty cells_ – fncbloke Jan 12 '14 at 19:00

2 Answers2

1

I have fixed this problem by forcing a reload of the visible table cells. I added

[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows]
withRowAnimation:UITableViewRowAnimationNone];

to viewWillAppear.

fncbloke
  • 23
  • 6
0

The same behaviour is in built-in mail application: with portrait mode go inside any mailbox, then go one level deeper, rotate to landscape, and then go back two times.

Obviously, it's a bug of iOs7.0. Hope to be fixed in iOs7.1.