Since updating to iOS 9, table view cell\'s in iPad landscape no longer stretch the full width of the table in my unit tests.
My test is a simple table that takes a snap
When I tested my App with iOS9, I noticed huge margins, on some UITableViews, both left and right. After a bit of investigation, I found the following new method:
// iOS9
if([self.tableView respondsToSelector:@selector(setCellLayoutMarginsFollowReadableWidth:)]) {
self.tableView.cellLayoutMarginsFollowReadableWidth = NO;
}
When the above code is called, after instantiating your UITableView, it should remove them.
Paste this code after you set your tableView delegate.
Hope it helps.
hope this help you
// MARK: - TableView Delegates And Datasource Method -
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
// IOS 7
if(self.respondsToSelector(Selector("setSeparatorInset:"))){
self.separatorInset = UIEdgeInsetsZero
cell.separatorInset = UIEdgeInsetsZero
tableView.separatorInset = UIEdgeInsetsZero;
}
// OTHER
if(self.respondsToSelector(Selector("setPreservesSuperviewLayoutMargins:"))){
if #available(iOS 8.0, *) {
self.separatorInset = UIEdgeInsetsZero
cell.layoutMargins = UIEdgeInsetsZero;
cell.preservesSuperviewLayoutMargins = false
}
}
// iOS 8
if(self.respondsToSelector(Selector("setLayoutMargins:"))){
if #available(iOS 8.0, *) {
self.separatorInset = UIEdgeInsetsZero
cell.layoutMargins = UIEdgeInsetsZero
}
}
// iOS 9
if (self.respondsToSelector("setCellLayoutMarginsFollowReadableWidth:")){
if #available(iOS 9.0, *) {
self.cellLayoutMarginsFollowReadableWidth = false
}
}
}