Tous les Lorsque je implémente les deux méthodes ci-dessous: p> Ça fonctionne correctement, je ne comprends tout simplement pas pourquoi je ne peux pas continuer à définir cela sur Toute pensée? p> p> TableViews code> de mon application ne respecte pas la propriété
code>
SéparatorIset code> -
personnalisé code> -
gauche = 0 code> sur
Storyboard code>. Tout fonctionnait bien sur
iOS 7 code>, mais plus.
Storyboard < / code> qui est beaucoup plus simple. P>
3 Réponses :
Ce code peut vous aider. Incluez à la fois layoutmargins et SéparatorIset pour supporter les deux versions iOS 7,8 Pour iOS8:
Configurez d'abord la vue de votre table comme suit: p> puis dans votre méthode, configurez la cellule comme suit: p> Pour la version Vérification Vous pouvez utiliser les éléments suivants: P> #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
if ([self respondsToSelector:@selector(setLayoutMargins:)]) {
cell.layoutMargins = UIEdgeInsetsZero;
}
#endif
Eh bien, merci. Mais en termes de code, mon code fonctionne bien. Je voulais juste pouvoir définir le retrait de séparateur dans Storyboard, sans aucun code. Mais cela ne semble pas fonctionner sur iOS 8.
J'ai aussi cette question. Avez-vous déposé un radar que je peux dupe?
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { // Remove separator inset if cell.respondsToSelector("setSeparatorInset:") { cell.separatorInset = UIEdgeInsetsZero } // Prevent the cell from inheriting the Table View's margin settings if cell.respondsToSelector("setPreservesSuperviewLayoutMargins:") { if #available(iOS 8.0, *) { cell.preservesSuperviewLayoutMargins = false } } // Explictly set your cell's layout margins if cell.respondsToSelector("setLayoutMargins:") { if #available(iOS 8.0, *) { cell.layoutMargins = UIEdgeInsetsZero } } }
facile: p>
Cell.sparatoratoratorSet = UiedgeIsetsPake (0,0, CGRectureGetWidth (TableView.frame) / 2, 0,0, CGRectureGetWidth (TableView.frame) / 2); P>