为啥不能设置 cell.selectionStyle = UITableViewCellSelectionStyleBlue?
Posted
技术标签:
【中文标题】为啥不能设置 cell.selectionStyle = UITableViewCellSelectionStyleBlue?【英文标题】:Why can't you set the cell.selectionStyle = UITableViewCellSelectionStyleBlue?为什么不能设置 cell.selectionStyle = UITableViewCellSelectionStyleBlue? 【发布时间】:2016-03-03 14:54:40 【问题描述】:我已经看到了以下问题,但未解释您可以简单地将cell.SelectedStyle
设置为UITableViewCellSelectionStyleGray
或UITableViewCellSelectionStyleNone
,但不能将其 selectionStyle 设置为UITableViewCellSelectionStyleBlue
。
他们只是提供了一个hack,没有解释。我只是想知道为什么,以便更好地理解objective-c
UITableViewCellSelectionStyleBlue is not working
ios7 UITableViewCell selectionStyle won't go back to blue
Cannot change UITableView blue highlight color
【问题讨论】:
cell.selectionStyle = UITableViewCellSelectionStyleBlue 应该放在返回单元格之前; 【参考方案1】:那么你不会喜欢这个答案。从 iOS 7 开始,设置
cell.selectionStyle = UITableViewCellselectionStyleBlue;
现在会给你灰色。 Apple 在 iOS 7 中去掉了它,所以现在 selectionStyleBlue 不再以蓝色存在。它是灰色的。
这是来自 Apple 的 UITableViewCell 类参考文档的引用:
蓝色选中时单元格具有默认背景颜色。
在 iOS 7 中,选择颜色不再是蓝色。请改用 UITableViewCellSelectionStyleDefault。
适用于 iOS 2.0 及更高版本。
当然,我相信您已经发现,您可以创建一个 UIView 并将其设置为背景以模拟蓝色选择。
这是该方法的链接:UITableView cell blue highlight on selection
编辑:
只是为了清楚。 UITableViewCellSelectionStyleBlue 使选择样式变为灰色。
UITableViewCell 没有默认方法使选择样式变为蓝色。
为了使选择样式成为默认灰色以外的任何颜色,您必须像我提供的链接一样创建自定义 UIView。
【讨论】:
谢谢!苹果摆脱了它!?!我无法理解你在说什么。我可以在UITableView.h
中看到它:@property (nonatomic) UITableViewCellSelectionStyle selectionStyle; // default is UITableViewCellSelectionStyle*Blue*.
ALSOOO:typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) UITableViewCellSelectionStyleNone, UITableViewCellSelectionStyle*Blue*, UITableViewCellSelectionStyleGray, UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)
查看我对问题的编辑.. UITableViewCellSelectionStyleBlue 实际上是灰色的.. 我知道这很令人困惑,但所有 UITableViewCellSelectionStyle 属性都将是灰色的......从现在开始就假装 UITableViewCellSelectionStyleBlue 不存在!! (bc 它的灰色)
@asma22 Apple 在发布 iOS 7 时重新设计了 UI。他们停止使用蓝色进行选择(实际上他们在每个应用程序中使用不同的颜色)并且常量不再有意义,因此他们将其重命名为 @987654326 @哪个更明智。
你能告诉我为什么苹果的文档中有UITableViewCellSelectionStyleBlue
吗?似乎没有任何目的。
我会假设人们的应用程序不会崩溃,在 iOS 7 之前设置 UITableViewCellSelectionStyleBlue
.. 你的权利,基本上它没有任何目的以上是关于为啥不能设置 cell.selectionStyle = UITableViewCellSelectionStyleBlue?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能设置 DataGridTextColumn 的样式?
为啥我的 Entity Framework Code First 代理集合为空,为啥我不能设置它?