8 cocoa-touch objective-c uitableview ios
我想在用户在UITableViewCell上进行触摸时实现自定义行为.我可以找到最接近用户触摸时的信息的是委托方法tableView:willSelectRowAtIndexPath:.但是,文档说明:
在用户触摸一行然后抬起手指之前,不会调用此方法; 直到那时才会选择该行,尽管它在触摸时突出显示.您可以使用UITableViewCellSelectionStyleNone在触摸时禁用单元格高亮显示的外观.除非表视图允许在编辑期间进行选择(即,表视图的allowsSelectionDuringEditing属性为设为YES).
有关检测此触摸的任何建议,以执行我的自定义突出显示行为?
谢谢!
Bru*_*oga 34
您需要继承UITableViewCell并覆盖该方法:
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)
也许,根据您的需要:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)
别忘了给超级打电话!
Apple的文档:
更新(2015年8月25日):
在Swift中,我会做这样的事情:
override var highlighted: Bool {
get {
return super.highlighted
}
set {
if newValue {
backgroundColor = UIColor.redColor()
}
else {
backgroundColor = UIColor.blackColor()
}
super.highlighted = newValue
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11438 次 |
| 最近记录: |