Nai*_*ler 6 objective-c uitableview ios
我正在制作UICollectionView一些UICollectionViewCells包含一个的地方UITableView.
这很好用,一切都很好,直到我点击UICollectionViewCell其他地方而不是UITableView.这会导致在表中的setHighlighted所有方法上调用该方法UITableViewCells.
下面是一个粗略的观点UICollectionViewCell.在UITableView从"单元一"到"单元三"只有跨越.点击此表外的任何位置,但内部UICollectionViewCell会导致单元格突出显示.
-------------------------
| Title goes here |
| |
-------------------------
| |
| Cell one |
-------------------------
| |
| Cell two |
-------------------------
| |
| Cell three |
-------------------------
| Button outside table |
|-----------------------|
Run Code Online (Sandbox Code Playgroud)
调用堆栈看起来像这样.
[MyTableViewCell setHighlighted:]
[UICellHighlightingSupport highlightView:]
UIApplicationMain
main
Run Code Online (Sandbox Code Playgroud)
似乎UICollectionViewCell前锋是所有细胞的一个亮点命令.
我通过setHighlighted在UITableViewCell子类中重载方法而不是调用超级实现来解决这个问题.虽然看起来有点hacky,我想知道这种行为是否可以以某种方式避免.
编辑:
我认为这种行为来自UICollectionCellView于所有孩子的呼叫setHighlighted.我理解的在大多数其他情况下都很有用.
您是否尝试过实施以下UICollectionViewDelegate方法?
collectionView:shouldHighlightItemAtIndexPath:
Run Code Online (Sandbox Code Playgroud)
如果您UITableView在集合视图中为您的视图返回“否”,那么您应该可以开始了。
| 归档时间: |
|
| 查看次数: |
1651 次 |
| 最近记录: |