UICollectionView 中的多个部分

2024-01-19

我正在使用集合视图为我的医院构建一个 iOS 应用程序。但是,根据目的,我需要在专科诊所使用多个部分。如果只是 1 部分,我已经完成了代码。当我尝试将其分成 2 个部分时,它总是返回一个 nil 值。

请检查我下面的代码

public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)

    if indexPath.section == 0 {
        var buttonSpecialist = cell.viewWithTag(1) as! UIButton

        buttonSpecialist.setTitle(list[indexPath.row].SpecialtyName, for: .normal)

        let btnimg = try? UIImage(data: Data(contentsOf: URL(string: list[indexPath.row].ImageUrl)!))

        var newimg = imageResize(image: btnimg as! UIImage, scaledTo: CGSize(width: 50, height: 50))

        buttonSpecialist.setImage(newimg, for: .normal)
        buttonSpecialist.contentMode = .center
        buttonSpecialist.imageView?.contentMode = .scaleAspectFit

        //let sign: Int = imageOnTop ? 1 : -1
        let imageSize: CGSize? = buttonSpecialist.imageView?.frame.size
        buttonSpecialist.titleEdgeInsets = UIEdgeInsetsMake(((imageSize?.height)! + 5) * 1, -(imageSize?.width)!, 0, 0)
        let titleSize: CGSize? = buttonSpecialist.titleLabel?.bounds.size
        buttonSpecialist.imageEdgeInsets = UIEdgeInsetsMake(-((titleSize?.height)! + 5) * 1, 0, 0, -(titleSize?.width)!)

        cell.layer.borderWidth = 1.0
        cell.layer.borderColor = UIColor.black.cgColor
    }
    else if indexPath.section == 1 {
        var buttonSpecialist = cell.viewWithTag(1) as! UIButton

        buttonSpecialist.setTitle(list2[indexPath.row].SpecialtyName, for: .normal)

        let btnimg = try? UIImage(data: Data(contentsOf: URL(string: list2[indexPath.row].ImageUrl)!))

        var newimg = imageResize(image: btnimg as! UIImage, scaledTo: CGSize(width: 50, height: 50))

        buttonSpecialist.setImage(newimg, for: .normal)
        buttonSpecialist.contentMode = .center
        buttonSpecialist.imageView?.contentMode = .scaleAspectFit

        //let sign: Int = imageOnTop ? 1 : -1
        let imageSize: CGSize? = buttonSpecialist.imageView?.frame.size
        buttonSpecialist.titleEdgeInsets = UIEdgeInsetsMake(((imageSize?.height)! + 5) * 1, -(imageSize?.width)!, 0, 0)
        let titleSize: CGSize? = buttonSpecialist.titleLabel?.bounds.size
        buttonSpecialist.imageEdgeInsets = UIEdgeInsetsMake(-((titleSize?.height)! + 5) * 1, 0, 0, -(titleSize?.width)!)

        cell.layer.borderWidth = 1.0
        cell.layer.borderColor = UIColor.black.cgColor
    }

这里的主要问题是,我不知道如何为特定部分设置特定单元格。我已经在函数“cellforindexpath”中使用了“IF”,但它不起作用。

这是我在该部分返回的商品数量

func numberOfSections(in collectionView: UICollectionView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 2
}


func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of items

    if section == 0 {
        return list.count
    }
        else if section == 1{
            return list2.count
        }

    return 0

}

请帮我


确保将 DataSource 和 Delegate 分配给 CollectionView

1.使用以下方法给出您想要显示的部分数量

func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 2
}

2.使用以下方法设置 CollectionView 每个部分的项目数。

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
   return (section == 0) ? list.count : list2.count
}

3.将每个项目的单元格分配给CollectionView。

public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    //If you are using multiple cells based on section make condition 

     if indexPath.section == 0 {
             //make sure the identifier of your cell for first section
             let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell1", for: indexPath)
            // do your stuffs
             return cell
     }else{
             //make sure the identifier of your cell for second section
             let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell2", for: indexPath)
            // do your stuffs
             return cell
      }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UICollectionView 中的多个部分 的相关文章

  • 如何在 iOS 企业帐户中创建开发人员配置文件请求?

    我们有 iOS 企业帐户 现在我们想要向我们的团队添加一名开发人员 该开发人员将创建一个开发人员配置文件 问题是新添加的开发人员在他的苹果帐户中看不到配置文件标签 任何人都知道新添加的开发人员如何创建配置文件 感谢您 Steps 您可以通过
  • CGFloat 和 NSNumber 之间的转换,无需不必要地提升为 Double

    众所周知 CGFloat 在 CoreGraphics UIKit 等中普遍存在 可以是 32 位或 64 位浮点数 具体取决于 处理器架构 In C CGFloat它是一个类型别名 到float or double 在 Swift 中它被
  • AutoLayout 将 UILabel 高度设置为零

    我有一个UILabel对于其他视图中的项目描述 所有内容均使用 Interface Builder 中的约束进行布局 您可以在下图中看到所有相关约束 行数也设置为0 我没有设置高度限制 因为我想要UILabel根据其包含的文本调整大小 相反
  • iOS7上UITableViewCell显示白色背景且无法修改

    我已经实现了一个继承自的自定义表格视图单元格类UITableViewCell 表格视图包含背景图像 所以我希望单元格的背景是透明的 iOS7之前看起来很棒 然而 在 iOS7 中 单元格始终显示为白色背景 即使对于 Xcode7 2015
  • 应用程序关闭时下载报刊亭应用程序

    我正在实现一个报摊杂志应用程序 它通过 Urban Airship 推送通知接收新期刊 只要应用程序位于前台或后台 这就可以正常工作 但据我所知 当应用程序完全关闭时也应该触发下载 但发送推送 content available 1如果我的
  • 如何在 Swift Joint 中创建自定义链?

    我正在尝试创建一个LocationManager组合的包装 我有一个发布者和一些触发发布者的函数 但是 我想将它们与自定义命令组合在一起 这是我到目前为止得到的 available OSX 10 15 iOS 13 tvOS 13 watc
  • iPhone en_* 子语言本地化

    我想在我的 iphone 应用程序中将字符串本地化为 en GB 和其他 en 子语言 但 XCode 和 iphone 拒绝让这种情况发生 我已经为 en GB 和 en US 创建了 Localized strings 的本地化 我尝试
  • React-Native 中的导航抽屉

    我是反应原生的新手 不介意我问一个基本问题 我想知道 实现抽屉式导航的分步过程是什么 推荐链接这个链接 https github com react native community react native side menu usage
  • 将 React Native 应用程序嵌入到现有的 ios/android 应用程序中

    我需要知道是否可以在现有的 ios android 应用程序中 嵌入 一个 React Native 应用程序 而不共享 React Native 应用程序代码 我们目前有一个 React Native 应用程序 它使用一些插件依赖项 并被
  • 如何在iOS中获得旋转UIView的完美X,Y位置

    我正在使用 CABasicanimation 来旋转 UIView 我正在使用这段代码 CABasicAnimation rotationAnimation CABasicAnimation animationWithKeyPath tra
  • 如何在 iPhone 中使用彩信发送音频?

    我瞪大了眼睛MMS在 iPhone 中 但我没有找到太多这方面的信息 大多数发现都与图像有关 我想使用发送音频MMS in iPhone using ios sdk 可以这样做吗 我有以下疑问MMS 如何识别所有MMS音频文件在iPhone
  • 预填充 UICollectionView 单元重用队列

    问题 我有一个应用程序 只有一个UICollectionView我第一次滚动它时很卡顿 我已将来源范围缩小到正在创建新单元格 2 的事实 使用initWithFrame 因为周围没有可以重复使用的细胞 初始滚动后 重用队列不为空 单元格可以
  • UIBarButtonItem 按下后更改字体,在外观代理中指定

    我设置了UIBarButtonItem标题字体通过appearanceAppDelegate 中的代理 UIBarButtonItem appearance setTitleTextAttributes NSDictionary dicti
  • 适用于 iOS 的 MvvmCross 汉堡菜单

    我在用着https www marcbruins nl xamarin ios hamburger menu mvvmcross https www marcbruins nl xamarin ios hamburger menu mvvm
  • Swift 上的 USB 连接委托

    Swift 中是否有一个代表可以让我的班级知道何时通过计算机的 USB 插入新设备 我想知道我的程序何时可以使用新设备 Eric Aya 的答案已经相当不错了 但这里有一个 Swift 3 的改编 我把大部分丑陋的东西包裹在一个USBWat
  • 如何从 UI 测试访问 App Delegate?

    我想访问特定的属性router在 UI 测试期间从启动的应用程序的应用程序委托中获取 但我不知道这是否可行 我努力了 let appDelegate UIApplication sharedApplication delegate as A
  • applicationDidFinishLaunching 函数在哪里?

    我的文档说 将以下代码添加到 applicationDidFinishLaunching 函数中 void applicationDidFinishLaunching UIApplication application 但我只看到 BOOL
  • 如何从TableViewCell上的自定义CollectionViewCell推送VC?

    我有一个tableView和细胞 在细胞上我有一个collectionView并在其上显示一些内容 我想发送一个有关选择的链接indexPath 我想从自定义中推送 呈现我的视图CollectionViewCell这是在TableViewC
  • XCode std::thread C++

    对于学校的一个小项目 我需要创建一个简单的客户端 服务器结构 它将在路由器上运行 使用 openWRT 并且我试图在这个应用程序中使用线程做一些事情 我的 C 技能非常有限 所以我在internet https stackoverflow
  • 使用 firebase 过滤分页列表

    我正在尝试使用 firebase 和 swift 制作一个分页过滤列表 但请随意用您最喜欢的编程语言回答 而不过滤客户端上检索到的数据 假设我有这个结构 matches match 1 name Match 1 users user 1 o

随机推荐

  • 如何将 jquery ui 小部件嵌入到polymer-dart web 组件中

    我尝试嵌入一个 jquery ui 小部件 例如将日期选择器集成到聚合物飞镖网络组件中 Web 组件的定义如下
  • 带引号的批处理路径

    如何检查路径是否有引号 如果没有则添加它 我知道我可以做这样的事情 set p path My path path 但我在引用时遇到问题 C My folder gt path gt C My folder gt Good 如果用户输入带引
  • GPUImage 色度键滤镜

    我正在尝试使用 GPUImage 框架的色键过滤器 我按照 Filtershowcase 示例进行操作 但显然我错过了一些东西 因为它只显示视频 但没有绿屏抠出效果 这是我对摄像机 滤镜的初始化 camera GPUImageStillCa
  • 检测多 SIM 设备中来电的目标 SimCard

    我读过很多帖子并尝试过很多解决方案 但所有帖子的共同点是它们都已经过时了 至少我找不到适用于较新版本的 Android 的解决方案 Post 1 https stackoverflow com a 21454296 6444297 结果 i
  • 以 DRY 方式扩展 SLICK 表

    我有一个关于 Slick Scala 的有趣问题 我希望你们中的一位好心人能够帮助我 我有几个表 并通过扩展在 SLICK 案例类中 case class A case class B case class C 共享这些共同领域 id St
  • 使用Jquery查找父div的id

    我有一些像这样的html div p Volume p div
  • Rails - 操作电缆上的服务器阻塞

    我有一个在开发中完美运行的 Rails 应用程序 我已部署到服务器 应用程序加载并正确显示其登陆和关于页面 但是 当我使用 Action Cable 访问页面时 服务器会阻塞 从网页发出的最后一个请求与 Action Cable 相关 并且
  • Android 中背景为 AnimationDrawable 的按钮状态

    我在 Android 中制作自定义按钮已经有一段时间了 事情很简单 只需为按钮状态制作图像资源并为其制作一个选择器 一切都很顺利而且美好 现在我遇到了新的情况 我制作了一个可绘制的动画并将其设置为按钮的背景
  • 如何在 Eclipse 编辑器插件中显示语法错误

    如何在 Eclipse 编辑器插件中指示语法错误 例如 非法的标记序列 就像在 Eclipse Java 编辑器中一样 即通过红色蠕动下划线 滚动条上可以跳转到的红色标记以及解释性消息您将鼠标悬停在其中一个上吗 我正在为自定义文件格式 特别
  • 当子属性更改时如何触发 NgComponent 的更新

    我是 AngularDart 和 Dart 的完全初学者 我遵循了教程 但我似乎找不到答案 我有两个可以完美工作的 NgComponents
  • ggplot2——自动放大geom_smooth(使用coord_cartesian)

    geom smooth很棒 很大程度上是因为它平均了很多变化 然而 正因为如此 当它缩小时 很难看出它在 x 轴上的变化 我正在制作大约 1000 个我需要的图表ggplot2放大通过coord cartesian 然而 每个图表都有不同的
  • 使用时间选择器设置时间

    有两个编辑文本 单击编辑文本时间选择器应该弹出 如何使用时间选择器选择日期并在两个编辑文本中设置日期 我已经用谷歌搜索了 timepicker 但我不知道如何在单击 edittext 时启动时间选择器并且 设置时间 XML
  • Python:替换重音符号(é 到 e)、删除 [^a-zA-Z\d\s] 和 lower() 的有效方法[重复]

    这个问题在这里已经有答案了 使用Python 3 3 我想做以下事情 替换特殊字母字符 例如 e 锐号 和 o 带有基本字符的扬抑符 例如 从 到 o 删除除字母数字和字母数字之间的空格之外的所有字符 人物 转换为小写 这是我到目前为止所拥
  • pecl 安装以前的 php 版本

    我已将 MacBook 升级为 Mavericks 并破坏了我的开发环境 我现在遇到的问题是我的 pear pecl 仍然尝试安装我以前的 5 3 版本的 PHP 而不是版本 5 4 PHP版本 php v PHP 5 4 17 cli b
  • OSGi + 休眠

    数据库操作不是分散在四个 osgi 包中 而是全部执行略有不同的操作 我想创建一个 简单的 OSGi 包来负责所有持久性问题 我觉得这并不像听起来那么简单 因为 每个包都有唯一的类加载器 所以我真正感激的是如果有人知道此类问题的解决方案 我
  • 如何在 Rust 中对“选项”分配进行分组?

    我有一个代码块 需要一次分配多个可选变量 任何值出现的可能性都很小None 因此单独处理每个失败的案例并不是特别有用 目前我这样写支票 if let Some a foo a if let Some b foo b if let Some
  • 在 datagridview 中显示 Yes/NO 而不是 True/False

    datagridview以一种形式显示数据库表的内容 表类型的一列是布尔值 因此在datagridview中显示true false 但我想自定义它以显示是 否 你建议哪种方式 当谈到自定义格式时 我想到了两种可能的解决方案 1 手柄Cel
  • cakephp 3 用于关联数据的 queryBuilder

    我有2张桌子 Table 1 product prices id price description pack display created modified Table 2 payment infos id payer pay date
  • 如何将html保存到数据库字段

    我有一个小编辑器 http www leigeber com 2010 02 javascript wysiwyg editor 我的用户可以使用此编辑器的网页 我将 html 保存到我的数据库中 我在将此 html 保存到我的数据库时遇到
  • UICollectionView 中的多个部分

    我正在使用集合视图为我的医院构建一个 iOS 应用程序 但是 根据目的 我需要在专科诊所使用多个部分 如果只是 1 部分 我已经完成了代码 当我尝试将其分成 2 个部分时 它总是返回一个 nil 值 请检查我下面的代码 public fun