问题标签 [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 - 如何在 swift 4 中设置对 collectionView 的关注?
你好我有一个UICollectionView
。在一个特定的单元格中,我有许多视图,例如、UserProfileView
等。在一个文本视图中,用户可以键入然后发表评论。发表评论后,我想关注那个特定的单元格,用户从哪个单元格发布了评论。为此,我使用了:ProductView
CommentBoxView
CommentBoxView
我正在使用硬编码值进行测试,但它仍然没有到来。请任何人帮助我解决这个问题。
ios - 如何在swift 4中滚动到集合视图中的特定索引?
我已经搜索了与此问题相关的各种链接,但无法解决此问题,这就是我发布此问题的原因。我有一个collectionView
. 在一个特定的单元格中,我有许多视图,例如UserProfileView、ProductView、CommentBoxView等。在CommentBoxView中有一个textView,用户可以在其中键入然后发表评论。发布评论后,我想滚动那个特定的单元格,用户从哪个单元格发布了评论。我知道我必须使用self.collectionView.scrollToItem(at:IndexPath(item: indexNumber, section: sectionNumber), at: .right, animated: false)
这是代码,
但我的问题是:
- 我必须在哪里编写此代码?在视图中确实出现了?还是在评论帖子功能中成功是真的?
如何将 indexNumber 和 sectionNumber 传递给
self.collectionView.scrollToItem(at:IndexPath(item: indexNumber, section:sectionNumber)
请任何人帮助我解决这个问题。谢谢
ios - Swift 4 中的 UICollectionViewController 未调用 cellForItemAt 函数
它看起来很基本,但我不能让它在 Swift 4 中工作。
所以我有以下 UICollectionViewController 的实现
虽然... numberOfItems ...
方法被调用,但 for... cellForItemAt indexPath ...
没有。
我错过了什么?
这是单元格的代码
另外,我没有使用故事板,所以我在AppDelegate
课堂上按如下方式实例化这个控制器:
ios - 如何将新的 UICollectionViewController 推送到单元格单元格内的 navigationController
我以编程方式构建了一个 UICollectionViewController,它返回 4 个单元格。HomeCell、TrendingCell、SubscriptionCell 和 AccountCell。所有 4 个单元格都应该不同,您可以水平滚动它们。<--->。
让我们以 HomeController 的第一个单元格 HomeCell 来说明我的问题。Homecell 具有三个自定义单元,分别称为 VideoCell、CategoryCell 和 UserSearchCell。
在 HomeCell 中,我将 UserSearchCell 注册为第三个单元格。
如果我单击该元素,我的目标是将一个新的 ViewController 推送到 navigationController。但我无权访问,也不知道如何更改该嵌套结构中的视图。我尝试了 HomeCell 类中的 didSelectItem 方法,并且能够在单击第三个单元格时在控制台打印一些内容,但无法更改视图。
请帮忙。有没有办法在 HomeCell 的 didSelectItem 方法中更改视图?
ios - 特定项目设置的 JTAppleCalendar 委托方法为零
我在我的应用程序中使用JTAppleCalendar库。func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleCell?, cellState: CellState)
一周前,当我停止在 App Store 版本中工作但它在当前的开发分支中工作时,我遇到了一个奇怪的问题。
经过快速研究,我发现唯一改变的是FBSDKCoreKit
和FBSDKLoginKit
cocoapods 版本 - 4.34.0
。所以我决定更新他们的版本4.38.1
并解决了一个问题。
不幸的是,我只能在具有其他库、VIPER 架构的项目(这是商业项目)中重现此问题,并且出于明显的原因我无法分享它。
但是我不认为豆荚会导致这样的问题,所以我正在尝试调查可能导致此类问题的原因。几个小时后,我发现delegate
ofUICollectionView
为零,这就是为什么didSelectItemAt
没有响应。
我只是通过在之后放置断点来检查它
在InternalActionFunctions.swift
文件中并且super.delegate
是nil
.
在JTAppleCalendarVariables.swift
文件中,我发现作者使用delegate
下dataSource
一个代码将变量设为私有
评论此代码解决了我的问题,delegate
分配了价值并且一切正常。
所以我的问题是,在某些情况下方法有效而在其他情况下无效时,上述代码如何导致如此奇怪的问题didSelectItemAt
?或者也许我走错了路,这根本不是理由?
swift - 从多个 UICollectionVIews 内的 UICollectionViewCell 推送新的 UICollectionViewController
我真的尽我所能找到解决这个问题的方法。我尝试了使用委托和协议的不同解决方案,但我的代码不起作用。在抱怨我的问题之前,请支持我,让我们作为一个社区工作。如果您不理解我的问题或需要其他信息,请告诉我。我仍然可以更改问题或添加其他信息。我真的需要帮助。感谢社区。
场景 I 一切正常:
我创建了一个UINavigationController,其中包含一个名为 HomeController 的 UICollectionViewController 作为 rootViewController 。HomeController包含一个名为CustomCell的自定义UICollectionViewCell。如果我单击其中一个CustomCells ,则会执行 HomeController 类的didSelectItem方法。此方法将新的UICollectionViewController推送到UINavigationController。代码工作正常。这是我的代码的骨架:
关于场景 II 和 III,我真的需要你的帮助。
场景二:
我创建了一个UINavigationController,其中包含一个名为MainController的UICollectionViewConroller。MainController包含四个不同的自定义单元格(CustomCell1、CustomCell2、CustomCell3、CustomCell4)。单元格是水平可滚动的,每个单元格的宽度和高度占据整个 collectionview。
CustomCell1、CustomCell2、CustomCell3和CustomCell4包含一个collectionView,它采用整个单元格的宽度和高度
例如:CustomCell1的 collectionView包含 3 个单元格。collectionView 的第一个单元格有两个按钮Button1和Button2。如果我单击Button2,我希望同一 collectionView中的cell2和cell3的内容发生变化。问题 1:在那种情况下,您如何实现这一目标?带有我的构造的代码示例将非常非常有帮助。
如上所述,CustomCell2还有一个collectionView,它取Cell 的整个宽度和高度。CustomCell2的collectionView包含三个CustomCell。第一个和第二个 CustomCells 有一个 collectionView ( cell.indexPath == 0 cell.indexPath ==1 )。
第一个collectionView(位于第一个单元格内)有四个customCells。如果您单击其中一个单元格,我希望将新的UICollectionViewController推送到UINavigationController。问题 2:如何使用委托和协议来做到这一点?
第二个collectionView(位于第二个单元格内)也有四个customCells。如果您单击其中一个 customCell,则任务不是将新的UICollectionView推送到 NavigationController,而是更改 cell3 的内容 问题 3:我怎样才能实现这一点,有人可以用我提供的骨架给我一个例子吗?
ios - UICollectionViewCell 重用导致不正确的 UISwitch 状态
我无法找到解决此问题的方法。我在UISwitch
里面使用UICollectionViewCell
,我正在传递一个布尔变量来设置开关。
条件是所有单元中一次只有一个开关必须打开。但是当我打开一个开关时,另一个随机开关的色调会发生变化,这意味着它的状态发生了变化。
默认情况下,故事板中的开关状态为 ON,即使我将其设置为 OFF,也没有任何变化。
我不明白为什么会这样。
这是我的代码cellForItemAtIndexPath
以及单元类的代码
数据源包含DiscountModel
如下所示的对象:
单元类中的开关值更改方法:
视图控制器类中的委托方法:
ios - UICollectionViewCell 宽度大于我在 sizeForItemAt 中设置的宽度
我的宽度/高度UICollectionView
匹配所有可用空间。
我想在一行中显示两个单元格(两列)
所以一个单元格的宽度应该是UICollectionView
( collectionView.frame.width / 2
)的一半宽度
所以我以编程方式改变单元格的宽度UICollectionViewDelegateFlowLayout
:
但单元格的视觉宽度远大于collectionView.frame.width / 2.0
(在 iPhone SE 模拟器上测试)
所以它需要超过屏幕的半角空间
在这里,我打印了有关尺寸的信息:
didSelectItemAt 单元格宽度 187.5,表格宽度:375.0,半宽度:187.5
为什么会这样?
边距也有问题,但首先我必须解决这个问题
更新
虽然它适用于 iPhone 6s 模拟器(我编辑图像以将两个项目放在第一行以检查它们是否适合):
那么 iPhone SE 有什么问题呢?
我不想发现其他 iPhone 或 iPad 也可能存在同样的问题
ios - 将 UIScrollView 委托和 UICollectionView 委托分配给同一个类
我有一个 paging UIScrollView
,每个页面都填充了不同的视图控制器。滚动视图上方是一个UICollectionView
用作菜单栏的。当您滚动滚动视图页面时,菜单栏会移动一点。您可以从左侧的 gif 中看到。
将他们的代表设置为不同的类可以让一切正常工作,如左边的 gif 所示。但是,将它们设置为同一类会破坏UICollectionView
s 的行为。
如何将他们的代表设置为同一个班级?