ios - 使用自动布局时,如何让我的 UICollectionView 与我的设备宽度相同?

标签 ios objective-c iphone autolayout uicollectionview

我在 Storyboard编辑器中创建了一个 UICollectionView 并将其添加到我的(自定义)ViewController。就像 Storyboard 中的每个 View Controller 一样,它表示大小为 600x600,因此占据整个 View 的 UICollectionView 也是 600x600。

虽然这是不正确的,因为我正在编写一个 iPhone 应用程序,所以实际尺寸应该是 320x568!

正因为如此,当我将项目添加到我的收藏时,它们被放置在屏幕右侧之外。例如,我首先添加一个单元格,其中包含一张尺寸为 160x213 的图像。它是左对齐的,正好占据屏幕的左半部分。当我添加下一张图片时,有一个巨大的差距,它出现在左侧,部分被切断。我希望第三张图片出现在第一张图片下方,但它根本没有出现。我相信它在屏幕的右侧。这意味着 UICollectionView 的大小是 600x600 而不是 320x568。

我应该提一下,我已经尝试了所有我能想到的方法来解决这个问题。例如:

  • 我尝试调整 Collection View 的大小:

    self.photoCollection.frame = CGRectMake(0, 0, 320, 568);
    
  • 我尝试取消选中 Storyboard 编辑器中的“使用大小类”。

如果我取消选中“使用自动布局”似乎可以工作,但我想使用自动布局。我如何获得这项工作?

最佳答案

  1. 您可以像下面这样在 Storyboard中设置 View 的“模拟指标”。就个人而言,我更喜欢使用 3.5/4 英寸来构建我的布局,因为使用自动布局,我只需要为元素添加一些约束,iOS 将自动支持 4.7 和 5 英寸屏幕尺寸。

enter image description here

  1. 我认为您应该在 google 上搜索一些“自动布局”教程,而且我认为这对您来说并不难掌握 :D。例如,如果您想将 Collection View 框架设置为等于您的 View 框架。你可以这样做

enter image description here

如果您有任何后续问题,请随时提出,干杯!

关于ios - 使用自动布局时,如何让我的 UICollectionView 与我的设备宽度相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551722/

相关文章:

iphone - 如何发布我的更新 (1.1) 而不在 iTunes Connect 中发布 1.0?

iphone - 确定 UIViewController 已加载并具有有效 View 的最佳方法?

ios - 当用户导航更深时,UINavigationBar 将变为透明

objective-c - 一个应用程序代理,两个窗口

ios - 在 iOS 中检查设备 ID 是否需要权限?

ios - rootViewController 设置但显示方向不正确

ios - 如何在 OSX 应用程序中使用核心蓝牙?

iphone - 界面方向和 UITabBarController 的问题

ios - 使用 Core Data 和 AFIncrementalStore 时重新格式化 JSON 属性

iphone - 如何在 objective-c 中的现有字符串的开头添加一个字符?