禁用iPhone表行

禁用iPhone表行,iphone,objective-c,uitableview,Iphone,Objective C,Uitableview,有没有办法禁用UITableView行的“可选择性” 我想在某个时间和某个发型师预约理发。向用户显示的是一个以半小时为增量的时间列表,但不可用时间显示为灰色/不可选择。是的,将不应选择的任何单元格的设置为 如果在单元格上使用reuseIdentifier,请确保还将单元格的设置为可选择 您还需要覆盖,以便忽略具有UITableViewCellSelectionStyleNone样式的单元格。是,将不应选择的任何单元格的设置为 如果在单元格上使用reuseIdentifier,请确保还将单元格的设

有没有办法禁用UITableView行的“可选择性”

我想在某个时间和某个发型师预约理发。向用户显示的是一个以半小时为增量的时间列表,但不可用时间显示为灰色/不可选择。

是的,将不应选择的任何单元格的设置为

如果在单元格上使用
reuseIdentifier
,请确保还将单元格的设置为可选择

您还需要覆盖,以便忽略具有
UITableViewCellSelectionStyleNone
样式的单元格。

是,将不应选择的任何单元格的设置为

如果在单元格上使用
reuseIdentifier
,请确保还将单元格的设置为可选择

您还需要重写,以便忽略具有
UITableViewCellSelectionStyleNone
样式的单元格。

实现:

-(void)tableView:(UITableView*)tv-didSelectRowAtIndexPath:(nsindepath*)indepath

对于应为只读的行,此方法中不执行任何操作。

实现:

-(void)tableView:(UITableView*)tv-didSelectRowAtIndexPath:(nsindepath*)indepath


在该方法中,对应为只读的行不执行任何操作。

我相信这只会在点击时将单元格颜色从蓝色(默认)更改为无-您仍需要在didSelectRowAtIndexPath方法中过滤掉点击,如果您希望该行变灰,您需要在cellForRowAtIndexPath方法中通过更改背景和/或字体颜色(或可能在单元格内容顶部添加一个半透明视图)自行处理该问题我应该如何过滤点击,以便在按下禁用行时不会触发didSelectRowAtIndexPath操作?这取决于您是如何设置的,但在didSelectRowAtIndexPath中,您将知道表节([indexPath节])和行([indexPath行])从那里,您可以将其映射到应用程序数据,以确定该行是已启用(在这种情况下,您将执行某些操作)还是已禁用(在这种情况下,您将不执行任何操作)另一个筛选选项是实现tableView:willSelectRowAtIndexPath:-如果从中返回nil,则将不会选择被按下的行。@Kendall:感谢您指出这一点。我不知道这种方法。我相信这只会在点击时将单元格颜色从蓝色(默认)更改为无-您仍然需要在didSelectRowAtIndexPath方法中过滤掉点击,如果您希望该行变灰,您需要在cellForRowAtIndexPath方法中通过更改背景和/或字体颜色(或可能在单元格内容顶部添加一个半透明视图)自行处理该问题我应该如何过滤点击,以便在按下禁用行时不会触发didSelectRowAtIndexPath操作?这取决于您是如何设置的,但在didSelectRowAtIndexPath中,您将知道表节([indexPath节])和行([indexPath行])从那里,您可以将其映射到应用程序数据,以确定该行是已启用(在这种情况下,您将执行某些操作)还是已禁用(在这种情况下,您将不执行任何操作)另一个筛选选项是实现tableView:willSelectRowAtIndexPath:-如果从中返回nil,则将不会选择被按下的行。@Kendall:感谢您指出这一点。我不知道这个方法。这仍然会突出显示被点击的行。你需要像我的回答那样设置它的样式。这仍然会突出显示被点击的行。你需要像我的回答那样设置它的风格。