Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams Its not duplicate of mentioned question. The result I want to achieve is far different than the result achieved in that question. Piyush Hirpara Jul 15, 2015 at 11:47 If you are creating a table in a uiview you would want to set this in the DrawRect property of the view. Travis Delly Mar 20, 2018 at 18:01

From my investigations, it's not iOS 9 at fault, but Xcode 7.0 beta 4.

If I build the app using Xcode 7.0 beta 4, then the cell separators are shown even when set to None in Interface Builder. If I build the same code with Xcode 6.4 or 7.0 beta 3, the separators are not shown.

You can explicitly call this in your ViewController as a workaround:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

(I guess ibtool may be at fault)

In My case I am loading UITableview from the Code building with xcode 6.4 still I am getting this issue. – Piyush Hirpara Aug 4, 2015 at 8:43 I get the problem in my current projet although I build a tableView and its properties programmatically. Therefore ibtool might be at fault, but he's not the only guilty actor :) – Jean Le Moignan Sep 17, 2015 at 20:25 Do you mean after or in each reloadData call? I had a similar experience where I had to add additional calls to set the separator and the background colors to get tables to appear correctly. – Fiid Sep 26, 2015 at 15:33

Setting the separator style to .None didn't work for me, so I used the edge insets as a hack workaround

self.tableView.separatorInset.left = UIScreen.mainScreen().bounds.width
                YESSSSS. The only solution that also works when there are not enough cells to fill the tableview.
– Jean Le Moignan
                Sep 18, 2015 at 12:21

I had the same issue, worked fine on iOS 8 but show the separator in iOS9. I was setting the separator style to none already. The following resolved it for me

if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
        cell.preservesSuperviewLayoutMargins = NO;
    cell.separatorInset = UIEdgeInsetsMake(0.f, 0.f, 0.f, cell.bounds.size.width);
    if([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        cell.layoutMargins = UIEdgeInsetsZero;

This basically squash the separator using the inset.

This issue is quite annoying. And here is my solution:

override func didMoveToSuperview() {
    if self.superview != nil {
        self.tableView.separatorStyle = .None

Set the separatorStyle again when view is added to its superview.

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.