Я добавил a UITableView
в IB и установил "делегат" и "источник данных", и все работает хорошо. То, что я хотел сделать дальше, это изменить цвет разделителя, но единственный способ, которым я мог это сделать, - добавить метод к одному из обратных вызовов делегатов, есть ли лучшее место, которое я должен поставить?
У меня нет этого в данный момент, но я думал, что, возможно, мне нужно добавить "iVar" из моего контроллера, который я могу связать с UITableView
в IB, а затем установить цвет разделителя в viewDidload
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView setSeparatorColor:[UIColor blackColor]];
return 65;
}
Ответ 1
- (void)viewDidLoad
{
[self.tableView setSeparatorColor:[UIColor myColor]];
}
Надеюсь, что это поможет - вам понадобится self.
для доступа к нему, помните.
Ответ 2
Теперь вы сможете сделать это непосредственно в IB.
Не уверен, хотя, если это было доступно, когда вопрос был опубликован изначально.
![enter image description here]()
Ответ 3
версия Swift:
override func viewDidLoad() {
super.viewDidLoad()
// Assign your color to this property, for example here we assign the red color.
tableView.separatorColor = UIColor.redColor()
}
Ответ 4
Попробуйте + (instancetype) внешний вид 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"
Примечание. Изменение отражает все таблицы, используемые в приложении.
Ответ 5
Если вы просто хотите установить один и тот же цвет для каждого разделителя, и он непрозрачен, вы можете использовать:
self.tableView.separatorColor = UIColor.redColor()
Если вы хотите использовать разные цвета для разделителей или очистить цвет разделителя или использовать цвет с альфа.
БУДЬТЕ ОСТОРОЖНЫ: вы должны знать, что в разделителе есть backgroundView, который имеет цвет по умолчанию.
Чтобы изменить его, вы можете использовать следующие функции:
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
}
}
Надеюсь, что это поможет!
Ответ 6
Swift 3, xcode version 8.3.2, раскадровка- > выберите таблицу View- > inspector- > Separator.
![Swift 3, xcode version 8.3.2]()