ios - 突出显示/选择时的 UITableViewCell 背景颜色
<p><p>我希望我的单元格文本颜色在点击时改变,而不是背景颜色。</p>
<p><strong>我希望单元格背景始终为白色,只有文本颜色在选中时发生变化。</strong></p>
<p>我已经看到了很多关于如何做到这一点的答案......</p>
<pre><code>UIView *bgColorView = [ init];
bgColorView.backgroundColor = ;
;
</code></pre>
<p>...但是创建的 View 在单元格分隔符之上运行。</p>
<p> <a href="/image/VSI2i.jpg" rel="noreferrer noopener nofollow"><img src="/image/VSI2i.jpg" alt="enter image description here"/></a> </p>
<p>并且要使用 <code>cell.textLabel.highlightedTextColor = ;</code> 来更改 textColor,我不能有 <code>cell.selectionStyle = UITableViewCellSelectionStyleNone;</code>,所以我需要弄清楚一些事情。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如果你想显示单元格的分隔符,你可能需要这个:</p>
<p>添加此代码:</p>
<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
cell.selectionStyle = UITableViewCellSelectionStyleDefault;
cell.textLabel.highlightedTextColor = ;
UIView *backgroudView = [initWithFrame:CGRectMake(0, 1, tableView.bounds.size.width, - 2)];
backgroudView.backgroundColor = ;
UIView *placeholderView = [ initWithFrame:CGRectMake(0, 0, 1, 1)];
placeholderView.backgroundColor = ;
;
cell.selectedBackgroundView = placeholderView;
...
}
// These codes are used to show the separatorView when the cell didSelected
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
void (^showSeparatorView)(UITableViewCell *cell) = ^(UITableViewCell *cell){
for (id obj in cell.subviews) {
if(){
UIView *view = (UIView *)obj;
view.hidden = NO;
}
}
};
UITableViewCell *cell = ;
showSeparatorView(cell);
if (indexPath.row > 0)
{
UITableViewCell *cell = ];
showSeparatorView(cell);
}
...
}
// These codes are used to show the separatorView when the cell didHightlight
- (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
void (^showSeparatorView)(UITableViewCell *cell) = ^(UITableViewCell *cell){
for (id obj in cell.subviews) {
if(){
UIView *view = (UIView *)obj;
view.hidden = NO;
}
}
};
UITableViewCell *cell = ;
showSeparatorView(cell);
if (indexPath.row > 0)
{
UITableViewCell *cell = ];
showSeparatorView(cell);
}
}
</code></pre>
<p>希望这些对你有帮助!</p></p>
<p style="font-size: 20px;">关于ios - 突出显示/选择时的 UITableViewCell 背景颜色,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/38065788/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/38065788/
</a>
</p>
页:
[1]