J'ai ajouté un UITableView
dans IB et définir le "délégué" et le "source de données" et tout fonctionne bien. Ce que je voulais faire ensuite, c’était de changer la couleur du séparateur, mais la seule façon de le faire était d’ajouter la méthode à l’un des rappels des délégués. Y at-il un meilleur endroit où je devrais placer ceci?
Je n'ai pas cela pour le moment, mais je pensais que je devrais peut-être ajouter un "iVar" de mon contrôleur que je pourrais relier au UITableView
dans IB, puis définir la couleur du séparateur dans le viewDidload
?
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView setSeparatorColor:[UIColor blackColor]];
return 65;
}
- (void)viewDidLoad
{
[self.tableView setSeparatorColor:[UIColor myColor]];
}
J'espère que cela vous aidera - vous aurez besoin du self.
pour y accéder, rappelez-vous.
Swift 4.2
tableView.separatorColor = UIColor.red
Vous devriez maintenant pouvoir le faire directement dans l'IB.
Pas sûr cependant, si cela était disponible lorsque la question a été postée à l'origine.
Swift version:
override func viewDidLoad() {
super.viewDidLoad()
// Assign your color to this property, for example here we assign the red color.
tableView.separatorColor = UIColor.redColor()
}
Essayez + (instancetype) apparence de UITableView:
Objective-C:
[[UITableView appearance] setSeparatorColor:[UIColor blackColor]]; // set your desired colour in place of "[UIColor blackColor]"
Swift 3.0:
UITableView.appearance().separatorColor = UIColor.black // set your desired colour in place of "UIColor.black"
Remarque: Le changement s'appliquera à toutes les tables utilisées dans l'application.
Si vous souhaitez simplement définir la même couleur pour chaque séparateur et qu'il soit opaque, vous pouvez utiliser:
self.tableView.separatorColor = UIColor.redColor()
Si vous souhaitez utiliser différentes couleurs pour les séparateurs ou effacer la couleur du séparateur ou utiliser une couleur avec alpha.
ATTENTION: Vous devez savoir qu’il existe une backgroundView dans le séparateur qui a une couleur par défaut.
Pour le changer, vous pouvez utiliser ces fonctions:
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if(view.isKindOfClass(UITableViewHeaderFooterView)){
var headerView = view as! UITableViewHeaderFooterView;
headerView.backgroundView?.backgroundColor = myColor
//Other colors you can change here
// headerView.backgroundColor = myColor
// headerView.contentView.backgroundColor = myColor
}
}
func tableView(tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
if(view.isKindOfClass(UITableViewHeaderFooterView)){
var footerView = view as! UITableViewHeaderFooterView;
footerView.backgroundView?.backgroundColor = myColor
//Other colors you can change here
//footerView.backgroundColor = myColor
//footerView.contentView.backgroundColor = myColor
}
}
J'espère que ça aide!