Questions tagged «uicollectionview»

UICollectionView类管理数据项的有序集合,并使用可自定义的布局来呈现它们。集合视图提供与表视图相同的常规功能,除了集合视图不仅可以支持单列布局,还可以支持更多的功能。集合视图支持可自定义的布局,可用于实现多列网格,平铺布局,圆形布局等。在iOS 6.0和更高版本中可用

11
不会调用UICollectionReusableView方法
我希望我的部分中UICollectionView包含带有图片的标题。 我已按照以下步骤操作: 在情节提要中,分配了一个标题作为我的附件 UICollectionView 给它一个标识符 UICollectionReusableView为此创建了一个子类 在故事板上将自定义类分配给该类。 ImageView在标头配件上放一个 ImageView在.h文件的自定义类中为设置了出口 在实现了以下内容viewDidLoad: [self.collectionView registerClass:[ScheduleHeaderView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerIdentifier]; -(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath { UICollectionReusableView *reusableview = nil; if (kind == UICollectionElementKindSectionHeader) { ScheduleHeaderView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerIdentifier forIndexPath:indexPath]; headerView.headerImageView.image = [UIImage imageNamed:@"blah.png"]; reusableview = headerView; } return reusableview; } …

14
如何将UICollectionView的高度调整为UICollectionView的内容大小的高度?
我希望UICollectionView(红色的)缩小到内容大小的高度,在这种情况下,UICollectionViewCells(黄色的)是因为有很多空白空间。我尝试使用的是: override func layoutSubviews() { super.layoutSubviews() if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) { self.invalidateIntrinsicContentSize() } } override var intrinsicContentSize: CGSize { return self.collection.contentSize } 但return self.collection.contentSize总是返回(width,0),因此,它会缩小到高度30的值(尽管我在constaint> = 30的情况下在XIB文件中为高度设置的值)。

9
UICollectionView增加了最高利润
我想放置一个UICollectionView控件,该控件可水平显示拇指(仅一行拇指)。由于某种原因,UICollectionView将拇指向下推44个像素,因此“ 0”高度实际上是“ 44”。我认为可能是为了考虑导航栏的高度而添加了这个空间(我只是假设)。由于我的UICollectionView仅在屏幕的一部分上,所以我不需要此边距。有没有办法将其删除?

24
旋转Interface Orientation时将contentOffset保留在UICollectionView中
我正在尝试处理UICollectionViewController中的界面方向更改。我想要实现的是,我希望在界面旋转后具有相同的contentOffset。意思是,它应该根据边界变化的比例而变化。 以内容偏移量为{ bounds.size.width * 2,0}的肖像开始... …也应导致横向内容偏移量为{ bounds.size.width * 2,0}(反之亦然)。 计算新的偏移量不是问题,但不知道在何处(或何时)进行设置以获得平滑的动画。我正在做的事情是使中的布局无效willRotateToInterfaceOrientation:duration:并重置中的内容偏移didRotateFromInterfaceOrientation:: - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration; { self.scrollPositionBeforeRotation = CGPointMake(self.collectionView.contentOffset.x / self.collectionView.contentSize.width, self.collectionView.contentOffset.y / self.collectionView.contentSize.height); [self.collectionView.collectionViewLayout invalidateLayout]; } - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation; { CGPoint newContentOffset = CGPointMake(self.scrollPositionBeforeRotation.x * self.collectionView.contentSize.width, self.scrollPositionBeforeRotation.y * self.collectionView.contentSize.height); [self.collectionView newContentOffset animated:YES]; } 这将改变旋转后的内容偏移。 轮换期间如何设置?我试图在中设置新的内容偏移量willAnimateRotationToInterfaceOrientation:duration:但这导致了非常奇怪的行为。 可以在我在GitHub上的项目中找到一个示例。

14
自动布局:是什么创建名为UIView-Encapsulated-Layout-Width&Height的约束?
我的布局约束在Interface Builder中很好,但是由于框架的某些部分应用了我确实不希望的固定高度和宽度约束,因此在运行时发生了异常。他们为什么在那里,以及如何将它们关闭? 它们是已记录列表中显示的最后两个约束: 2014-04-26 09:02:58.687 BBCNews[32058:60b] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the …

7
UICollectionView:必须使用非nil布局参数初始化
我UICollectionView通过代码添加。 现在,应用程序崩溃并显示以下消息:UICollectionView must be initialized with a non-nil layout parameter。 您有解决的主意吗? CollectionCell是的自定义类UICollectionViewCell。 @property (nonatomic, strong) UICollectionView* collectionView; - (void)viewDidLoad { [super viewDidLoad]; self.collectionView = [[UICollectionView alloc]init]; [self.collectionView registerClass:[CollectionCell class] forCellWithReuseIdentifier:@"cell"]; UICollectionViewFlowLayout* flowLayout = [[UICollectionViewFlowLayout alloc]init]; flowLayout.itemSize = CGSizeMake(100, 100); [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; [self.collectionView setCollectionViewLayout:flowLayout]; self.collectionView.frame = CGRectMake(0, 60, 320, 500); self.collectionView.backgroundColor …

14
Swift:如何在设备旋转后刷新UICollectionView布局
我使用UICollectionView(flowlayout)构建简单的布局。每个单元格的宽度设置为使用self.view.frame.width 但是当我旋转设备时,单元格不会更新。 我找到了一个函数,该函数在方向改变时被调用: override func willRotateToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) { //code } 但我找不到更新UICollectionView布局的方法 主要代码在这里: class ViewController: UIViewController , UICollectionViewDelegate , UICollectionViewDataSource , UICollectionViewDelegateFlowLayout{ @IBOutlet weak var myCollection: UICollectionView! var numOfItemsInSecOne: Int! override func viewDidLoad() { super.viewDidLoad() numOfItemsInSecOne = 8 // Do any additional setup after loading the view, typically from …


10
在UICollectionView上动态设置布局会导致莫名其妙的contentOffset更改
根据Apple的文档(并在WWDC 2012上大肆宣传),可以UICollectionView动态设置布局,甚至为更改设置动画: 通常,在创建集合视图时可以指定布局对象,但是也可以动态更改集合视图的布局。布局对象存储在collectionViewLayout属性中。设置此属性可直接更新布局,而无需设置更改动画。如果要对更改进行动画处理,则必须改为调用setCollectionViewLayout:animated:方法。 但是,实际上,我发现对UICollectionView进行了莫名其妙甚至无效的更改contentOffset,导致单元无法正确移动,从而使该功能实际上无法使用。为了说明问题,我将以下示例代码放在一起,可以将其附加到放置在情节提要中的默认集合视图控制器上: #import <UIKit/UIKit.h> @interface MyCollectionViewController : UICollectionViewController @end @implementation MyCollectionViewController - (void)viewDidLoad { [super viewDidLoad]; [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"CELL"]; self.collectionView.collectionViewLayout = [[UICollectionViewFlowLayout alloc] init]; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 1; } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"CELL" forIndexPath:indexPath]; cell.backgroundColor …


18
iOS 10错误:UICollectionView接收到具有索引路径不存在的单元格的布局属性
在装有iOS 10的设备上运行我的应用程序时,出现以下错误: UICollectionView接收到具有不存在索引路径的单元格的布局属性 在iOS 8和9中工作正常。我一直在研究,发现这与使集合视图布局无效有关。我尝试实现该解决方案没有成功,因此我想寻求直接帮助。这是我的层次结构视图: ->Table view ->Each cell of table is a custom collection view [GitHub Repo][1] ->Each item of collection view has another collection view 我试过的是插入 [self.collectionView.collectionViewLayout invalidateLayout]; 在里面 - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView 这两个集合视图。 我也尝试在重新加载数据之前使布局无效,这不起作用... 有人可以给我一些指示吗?

13
如何像UITableView纯样式中的节头一样使UICollectionView中的补充​​视图浮动
我正在努力实现的“浮动节头”效果UICollectionView。在没有很多努力的UITableView情况下,(的默认行为UITableViewStylePlain)足够简单的事情似乎是不可能的UICollectionView。我想念明显的东西吗? Apple没有提供有关如何实现此目的的文档。似乎必须继承UICollectionViewLayout并实现自定义布局才能实现此效果。这需要大量的工作,实现以下方法: 替代方法 每个布局对象都应实现以下方法: collectionViewContentSize layoutAttributesForElementsInRect: layoutAttributesForItemAtIndexPath: layoutAttributesForSupplementaryViewOfKind:atIndexPath: (if your layout supports supplementary views) layoutAttributesForDecorationViewOfKind:atIndexPath: (if your layout supports decoration views) shouldInvalidateLayoutForBoundsChange: 但是,我不清楚如何使辅助视图浮动在单元格上方并“粘”在视图顶部,直到到达下一部分为止。布局属性中是否有此标志? 我会用过,UITableView但我需要创建一个相当复杂的集合层次结构,使用集合视图即可轻松实现。 任何指导或示例代码将不胜感激!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.