问题标签 [uicollectionviewdelegate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 UICollectionviewCell 数据最初没有加载
在 UIcollectionviewcell 中,数据最初并未加载到单元格中,而是加载了单元格的布局。当滚动到最后一个单元格并向后滚动时,它似乎正确地填充了数据,没有任何问题。我正在从 json 数组中获取数据。获取 json 数组后,我正在重新加载集合视图。我在情节提要中使用带有自动布局的原型单元。我尝试使用按钮操作重新加载,但在这种情况下,只有可见单元格正在更新我正在使用 flowlayout 和水平滚动这是我的 cellforitem 代码
ios - touchesBegan 没有在 UICollectionViewController 中触发
我有一UICollectionViewController
堂课,上面放着一堆细胞。当用户触摸一个单元格时,我想使用该touchesBegan
方法来防止新的触摸,直到第一次触摸完成对单元格的选择。
我尝试将以下代码放在我的视图控制器中,但它从未被调用。
但是,在我的项目的其他地方,我有另一个类是UIViewController
. 在那里,我touchesBegan
在下面的代码中使用来关闭该类中文本视图的键盘,并且该代码被调用得很好。
为什么这段代码在一个类而不是另一个类中工作?以及如何在我的集合视图单元格中使用touchesBegan
来UICollectionViewController
检测触摸?Swift 中的解决方案将不胜感激。谢谢你的时间!
研究: 我检查了这个解决方案: Handle Touch in UiCollectionView? 但答案大多适用于该特定项目。
我尝试使用手势识别器运行self.collectionView?.userInteractionEnabled = false
,但手势识别器不会触发selector.state == .Began
,仅用于.Ended
. 所以我不能用它来防止进一步的接触。
我也尝试使用 aUILongPressGestureRecognizer
来做同样的事情,但是该手势会阻止集合视图单元格侦听的默认点击手势,因此从未接收到单元格上的常规点击,因此无法选择单元格。
我发布了一个解决方法作为答案,尽管它没有回答原始问题。
ios - UICollectionViewCell 无法为 CustomCollectionViewCell 赋值
我创建了一个自定义 UICollectionViewCell 并尝试从UICollectionView
delegate
方法中引用它cellForItemAtIndexPath
并且我不断得到Cannot assign value of type 'UICollectionViewCell' to type 'GridViewCell'
委托方法
GridViewCell 类
ios - 为什么 UICollectionViewDelegate 和 UICollectionViewDataSource 是不同的协议?
我正在尝试为 UICollectionViewDelegate 和 UICollectionViewDataSource 实现一个单独的类。但是,我似乎总是需要访问数据模型才能计算某些委托方法,例如单元格的大小。
我从未见过这两个协议在不同的类中实现,那么为什么 Apple 将它们设为不同的协议呢?
ios - tvos UICollectionView 失去焦点到前一个焦点单元
我正在构建一个tvos
应用程序。我有一个奇怪的错误,UICollectionView
当我导航回该特定视图时,会失去先前选择的单元格的焦点。场景是这样的。
我有两个UIViewControllers
A
和B
。A
有一个UITableView
,其中有三个原型单元。每个单元格内部都有一个水平滚动UICollectionView
。当我单击其中任何一个时,UICollectionViewCell
它会导航到B
(详细信息页面)。我B
以模态方式呈现。
现在,当我按下 Siri 远程视图上的菜单按钮A
时(换句话说,视图B
已从视图层次结构中删除),但当前选定的单元格与先前选定的单元格不同。我曾尝试同时使用remembersLastFocusedIndexPath
和true
值false
,也尝试通过实施
func indexPathForPreferredFocusedViewInCollectionView(collectionView: UICollectionView) -> NSIndexPath?
但是当我导航回视图 A 时,控件会出现此功能。我也在重新加载viewWillAppear
功能中的所有内容。
任何人都可以帮助我。谢谢
objective-c - UICollectionViewDelegate 没有在具有自定义 UICollectionViewCell 和 NSObject 控制器的 UICollectionView 子类上触发
我已将UICollectionView
其委托和数据源子类化并分配给 NSObject 类。我使用UICollectionViewCell
带有 .xib 的自定义来构造集合视图的单元格。该项目可以在这里找到:
https ://github.com/JeffModMed/CustomUICollectionView
正如您将看到的,数据源方法工作正常,但是当用户点击单元didSelectItemAtIndexPath
格shouldSelectItemAtIndexPath
时不会调用,这让我相信UICollectionViewDelegate
. 我能想到的唯一其他可能的问题区域是我使用自定义UICollectionViewCell
类或注册其 .xib 文件的方式有问题。
注意:请不要回答建议我UICollectionViewController
用作替代方案:代码必须以这种方式完成才能与更大的项目合并。提前致谢。