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
–
–
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)
–
–
–
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
–
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.