像 Chanel 应用程序一样自定义集合视图布局

2024-03-29

我正在尝试做一个自定义布局,例如香奈儿应用程序,您可以在应用程序商店中找到该应用程序。https://itunes.apple.com/us/app/chanel-fashion/id409934435?mt=8 https://itunes.apple.com/us/app/chanel-fashion/id409934435?mt=8

我知道他们正在使用 UICollectionView,但不知道如何开始。 交互感觉就像是与分页滚动混合的桌面视图。当您滚动元素时,元素会增长,并且第一个元素将自身定位在顶部。


  1. 从仅拖动和定位一个开始UIView. See UIGestureRecognizer docs https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIGestureRecognizer_Class/并寻找现有的examples https://stackoverflow.com/questions/14683991/make-a-uiview-draggable-with-the-finger可移动视图。你需要一个UIPanGestureRecognizer移动视图。
  2. 根据视图调整视图大小Y位置。
  3. 使用几个自动布局约束根据视图大小在该视图内创建和定位图像。

请注意,Chanel 应用程序对这些约束有不同的常量。对于最小视图高度,一张图像的顶部高度为 80%,另一张图像的顶部高度为 90%。确保您可以操纵代码中的约束(我认为从代码中创建所有内容是个好主意,XIB 不是很灵活)。

  1. 当您停止移动视图时,使视图“锚定”到某些点(例如,从我在 Chanel 应用程序中看到的顶部 = -75%、0%、75%、90%)。只需找到最近的一个并将视图动画化即可。
  2. 使用 1 个视图完成后,将所有工作移至另一个视图NSView子类(如果尚不存在)并创建这些视图的集合。

您可以创建UICollectionView,但我宁愿用一个简单的方法来做NSArray: 我实际上没有看到使用的理由UICollectionView这里;这是一个非常简单的结构。无论如何,你编写了自己的手势识别器(不是吗?我看不到其他方法) - 那么使用它有什么意义UICollectionView?如果有一天您想扩展应用程序功能,UICollectionView不太可能帮助你。嗯,这是我的假设方法,您可以在研究时找到另一种方法。

  1. 在移动“活动”视图时定位其他视图。用手做,不用任何东西UIScrollViews.
  2. 编写一个函数,在移动视图时反映“相邻”视图的 Y 位置。它应该“慢下来”到屏幕底部。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

像 Chanel 应用程序一样自定义集合视图布局 的相关文章

  • 将 Xcode 4.5 新 XIB 文件恢复到 iOS<6

    我已经安装了Xcode 4 5 with iOS6 SDK以及其他用于测试目的的旧 SDK 从 4 3 到 6 0 很美 但是有一个BIG问题 生成一个新的 XIB 文件以兼容 iOS6 这是一个问题 因为我的应用程序需要运行在旧设备 不只
  • NSString 到 NSDate 的转换得到错误的结果[重复]

    这个问题在这里已经有答案了 可能的重复 NSDateFormatter 的时间错误 https stackoverflow com questions 5466419 wrong time from nsdateformatter NSDa
  • React Native ios运行问题

    我是反应本机和运行新手yarn ios我的 React Native 项目不断失败并出现以下错误 构建失败 以下构建命令失败 编译C Users gift Library Developer Xcode DerivedData gainer
  • 具有透明背景的 Swift 模态视图控制器 [重复]

    这个问题在这里已经有答案了 我知道这个话题很受欢迎 但我在编程语言中遇到了一些问题 事实是我仍然不明白我把代码放在哪里 好吧 我就来说说整个案子 我正在尝试制作一个与正常情况稍有不同的模态 Swift 通过单击按钮 ViewControll
  • 如何在 Safari 上打开本地 html 文件?

    我想打开本地 html 文件Safari集成到我的Swift 3应用 我知道如何使用网址来做到这一点 这是我用来执行此操作的代码 let encodedString url addingPercentEncoding withAllowed
  • 基于 JavaScript 的 iPhone UI 框架

    我们有一个基于推送的网络应用程序 最近 我们计划为其制作一个 iPhone 应用程序 就像 Facebook 拥有 iPhone 应用程序和网站一样 我们正在寻找一个可以让我们快速前进的 UI 框架 我翻阅过PhoneGap http ww
  • Mobile Safari (iPhone) CSS 垂直居中/行高 CSS 问题

    有一个问题 我一直试图在各个项目中解决 但运气不佳 我有一些divs 内的文本以 CSS 为中心 使用display block and line height 我也尝试过padding和固定的高度 通常 这些设置要么只是标题 要么有时是按
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • Android - 状态栏阻止全屏

    我的应用程序启动时可以全屏正确运行 然而 在最小化然后返回应用程序后 状态栏会弹出 并将我的视图向下推一点 如何防止状态栏移动我的视图 这是我的布局
  • CIAdditionCompositing 给出不正确的效果

    我正在尝试通过平均其他几个图像来创建图像 为了实现这一点 我首先将每个图像变暗 其系数等于我平均的图像数量 func darkenImage by multiplier CGFloat gt CIImage let divImage CII
  • 将滚动事件从 uibutton 传递到 uiscrollview

    我有水平的UIScrollView这是从UIScrollView我添加了UIButtons水平地 我只能滚动到按钮区域之外 但如果我想滚动到任何按钮就会触发UIControlEventTouchUpInside事件 我不想要这个 我想开火U
  • 如何使用CSS将文本放在“框”的右上角或右下角

    我怎样才能得到here and and here位于右侧 与 lorem ipsums 位于同一行 请参阅以下内容 Lorem Ipsum etc here blah blah blah blah lorem ipsums and here
  • 如何像谷歌日历一样将单元格的内容滚动到表格视图中的另一个单元格中?

    我希望用户界面像谷歌日历那样进入桌面视图 它在不同的行中显示相同的日期事件 但是当您向上或向下滚动时 左侧的日期也会向上向下滚动 Can you please help me how to achieve this Please take
  • 如何在运行仅 iPhone 应用程序(非通用)的 iPad 上的 UIPickerView 中支持 VoiceOver?

    一般来说 我会查看 Apple 的 UICatalog 示例代码以获取基本的 VoiceOver 支持 但示例代码中似乎有对 UIPickerViews 的 VoiceOver 支持 我是否需要在某处提供accessibilityLabel
  • 在iOS中设置框架的原点

    我正在尝试以编程方式设置框架的原点 Method1 button frame origin y 100 方法二 CGRect frame button frame frame origin y 100 我尝试了方法 1 但它不起作用 显示错
  • 弱变量中间为零

    弱变量什么时候变为零 weak var backgroundNode SKSpriteNode texture SKTexture image initialBackgroundImage backgroundNode position C
  • 是否可以在增强现实应用程序中使用自定义 iOS UI 元素(例如 UILabel)

    我想知道是否可以使用像这样的 UI 元素UIButton UILabel在带有 ARKit 的增强现实应用程序中 如果您也对 UIView 子类的透明度模式感兴趣 请尝试我的示例https github com erikhric ar me
  • 防止点击 MKAnnotation 时检测到 MKMapView 上的触摸事件

    我有一个 UITapGestureRecognizer 当用户点击地图时 它将在我的 MKMap 上隐藏和显示工具栏 简单 但是 当用户点击 MKMapAnnotation 时 我不希望地图以正常方式响应点击 如上所述 此外 当用户点击地图
  • iOS 7 导航栏颜色在 iPhone 4 上无法正确显示

    我的导航栏颜色在 iOS 7 中正常显示 部署iOS 6 0 但如果系统版本是iOS 7 0或更高版本 部分导航栏颜色在iPhone 4上无法正常显示 在iPhone 5上工作正常 我是这样做的 if SYSTEM VERSION GREA

随机推荐

  • 在 Java 中写入文本文件时插入新行

    我对学习 FileWriter 有一点点困惑 最终目标是编写一个程序 该程序将 生成 一个 bat 文件 该文件将由启动 jar 的批处理代码执行 问题是 我不知道如何确保每个 FileWriter write 将打印在新行上 有什么想法吗
  • 如何向下滚动 - JQuery

    我不是程序员 但我使用下面的代码将页面滚动到顶部 我该如何调整它以向下滚动 a class btnMedio href img src http desmond imageshack us Himg41 scaled php server
  • 如何在 Rails 之外的 ruby​​ 脚本中使用 ActiveRecord?

    我有一个小的 ruby 脚本 我想在其中使用 ActiveRecord 轻松访问数据库模型 最好的方法是什么 require active record Change the following to reflect your databa
  • WAR 中的安全配置文件放在哪里?

    我正在尝试在我的 WAR 中使用 JAAS 进行身份验证 我明白我的配置文件 http download oracle com javase 6 docs api javax security auth login Configuratio
  • 扩展初始值设定项列表仅适用于

    我对 C 很陌生 我在阅读错误时遇到了困难 我能够消除其中的大部分错误 但我只剩下一些错误 我请求对它们的帮助 这是程序 include
  • “数组下标不是整数”c

    我正在尝试使用 for 循环进行矩阵乘法 但收到错误 数组下标不是整数 请问我可以得到一些帮助吗 include
  • Android Proguard 警告:无法写入资源(重复的 zip 条目)

    我启用了 proguard 并得到 Warning can t write resource META INF LICENSE txt Duplicate zip entry commons io 2 4 jar META INF LICE
  • Singleton 对象 - 在静态块中或在 getInstance() 中;应该使用哪个

    下面是两种实现单例的方法 各自的优点和缺点是什么 静态初始化 class Singleton private Singleton instance static instance new Singleton public Singleton
  • Facebook JSON 字符串的反序列化?

    我无法从运行 fql 查询后生成的 JSON 字符串中提取 facebook 用户的 work history 从属关系和 current loc 我已经上过这门课 public class Data public CurrentLocat
  • UI自动化切换窗口

    我注意到 setforegroundwindow 可能非常不稳定 无论你怎么做 我注意到 在可能的情况下使用 UIAutomation 似乎可以改善情况 例如 获取 WindowPattern 并使用类似以下内容 windowPattern
  • .setAttribute 与 .attribute= 背后发生了什么?

    描述 我正在使用简单javascript设置 a 的值input 我使用了多种看似相同但结果不同的方法 这是一个例子 HTML
  • Spring MVC 请求映射不起作用

    我想用一个控制器创建简单的 hello world 应用程序 没有任何类的普通 spring 可以工作 但是当我添加控制器 更改 xml 文件 按照分步教程 并尝试打开 localhost project hello html 时 它会抛出
  • 从 Android 应用程序中的本机库访问根文件(/system、/dev)

    我有一个原生库 它将尝试在 Android 设备的 system dev 文件夹中创建文件 使用 open fopen 等 现在我已经使用 JNI 和 NDK 将库与 A ndroid 应用程序集成 但在根文件夹中创建文件失败 我尝试从本机
  • 可以使用 Flutter 复制 iOS App Store 转换吗?

    是否可以使用Flutter复制iOS App Store的转场效果 我尝试通过将两个标签放入两个小部件的根布局中来使用英雄动画 但动画看起来很卡顿或者不是我所期望的 但这样做的好处是 当我使用 MaterialPageRoute 时 我可以
  • Logger 和 System.out.println 的输出不按顺序

    我想要记录器的输出inputstream在 Eclipse 控制台中 但每次执行的时候 结果的顺序总是不一样 我有几个类 其中一个主类可以调用其他类 并且我将记录器放入每个方法中进行调试 我将结果打印到控制台 我也有检索的方法inputst
  • 在 javascript 中使用 .css() 设置细边框

    因此 当用户单击页面上的按钮时 我试图在按钮周围设置边框 要设置处理程序 我要 reportButtons click function change border color 我尝试了两种方法来更改其中按钮的边框颜色 第一种方法是使用 c
  • Asp.net mvc 表单发布和分页

    我有一个操作方法 搜索 在发布表单时调用该方法 根据表单的发布值 可能有数千个搜索结果 我想逐页显示搜索视图 但如何知道第一次发布的表单值是什么 这样我就可以通过传递页面参数来调用搜索视图 最好的方法是接受系统的无状态性 每次渲染视图时 请
  • 如何将 C# 转换为 C++ [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人可以帮我将 C 转换为 C 吗 这是一个例子 using System using System Net using System
  • Google数据存储-在没有热点的情况下对创建日期字段进行索引

    我正在使用 Google Datastore 需要查询它来检索一些实体 这些实体需要按从最新到最旧的顺序排序 我的第一个想法是拥有一个包含时间戳的 date created 属性 然后我会索引该字段并对该字段进行排序 这种方法的问题是它会导
  • 像 Chanel 应用程序一样自定义集合视图布局

    我正在尝试做一个自定义布局 例如香奈儿应用程序 您可以在应用程序商店中找到该应用程序 https itunes apple com us app chanel fashion id409934435 mt 8 https itunes ap