Questions tagged «uicollectionviewcell»

UICollectionViewCell是iOS中UIKit框架的类。当一个数据项在集合视图的可见范围内时,UICollectionViewCell对象将显示该数据项的内容。在iOS 6.0及更高版本中可用,继承自NSObject-> UIResponder-> UIView-> UICollectionReusableView-> UICollectionViewCell`

16
UICollectionView自动调整大小的单元格
我正在尝试UICollectionViewCells使用“自动版式” 调整大小,但似乎无法使单元格自行调整大小以适应内容。我无法理解如何从单元的contentView内部内容更新单元的大小。 这是我尝试过的设置: 在其contentView中UICollectionViewCell使用进行自定义UITextView。 滚动到UITextView禁用。 contentView的水平约束为:“ H:| [_textView(320)]”,即,UITextView以固定的宽度320固定在单元格的左侧。 contentView的垂直约束为:“ V:| -0-[_ textView]”,即UITextView固定在单元格顶部。 的UITextView高度限制设置为一个常量,UITextView报告将适合文本。 单元格背景设置为红色,UITextView背景设置为蓝色的外观如下: 我把我已经在GitHub上玩的项目在这里。

12
仅在iOS 7上运行时,才会在Storyboard原型单元(Xcode 6,iOS 8 SDK)中自动调整UICollectionViewCell contentView框架的大小
我正在使用Xcode 6 Beta 3,iOS 8 SDK。使用Swift构建目标iOS 7.0。请通过以下屏幕截图逐步说明我的问题。 我在Storyboard中有一个UICollectionView。1个原型UICollectionViewCell,中间包含1个标签(无自动调整大小规则)。紫色背景用来标记由我猜想的Cell在运行时生成的contentView。该视图最终将根据我的UICollectionViewLayoutDelegate正确调整大小,但不会基于iOS7。请注意,我使用的是Xcode 6,该问题仅发生在iOS 7上。 当我在iOS 8上构建应用程序时,一切正常。 注意:紫色是contentView,蓝色是我的带有圆角的UIButton。 但是,在iOS 7上,单元内的所有子视图突然缩小到(0,0,50,50)的帧,并且不再符合我的自动调整大小规则。 我认为这是iOS 8 SDK或Swift或Xcode中的错误? 更新1:官方Xcode 6.0.1中仍然存在此问题!最好的解决方法是像KoCMoHaBTa所建议的那样,方法是在单元格的cellForItem中设置框架(尽管您必须对单元格进行子类化)。事实证明,这是iOS 8 SDK和iOS 7之间的不兼容性(请参阅下面引自Apple的ecotax答案)。 更新2: 将此代码粘贴到cellForItem的开头,一切正常: /** Xcode 6 on iOS 7 hot fix **/ cell.contentView.frame = cell.bounds; cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; /** End of Xcode 6 on iOS 7 …

7
为什么UICollectionViewCell的出口为零?
我在Interface Builder中创建了一个自定义UICollectionViewCell,将其上的视图绑定到该类,然后当我要使用字符串并将其设置为字符串上的标签时,tha标签的值为nil。 override func viewDidLoad() { super.viewDidLoad() // Register cell classes self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls") } override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! { var cell: LeftMenuCollectionViewCell cell = collectionView.dequeueReusableCellWithReuseIdentifier("ls", forIndexPath: indexPath) as LeftMenuCollectionViewCell println(cell.label) // <- this is nil, why?? cell.label.text = "asd" return cell } 和子类的单元格: class …

9
如何设置单元格间距和UICollectionView-UICollectionViewFlowLayout的大小比例?
我正在尝试添加UICollectionView到ViewController,并且我需要“每行”有3个单元格,单元格之间没有空格(它看起来应该像网格)。单元格的宽度应该是屏幕尺寸的三分之一,所以我认为layout.item宽度应该相同。但是然后我得到了: 如果我减小该尺寸(例如减少7或8像素),效果会更好,但是行中的第三个单元格不是完全可见的,并且我仍然具有该空白空间(顶部和底部以及左侧和右侧)。 class ViewController: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource { var collectionView: UICollectionView? var screenSize: CGRect! var screenWidth: CGFloat! var screenHeight: CGFloat! override func viewDidLoad() { super.viewDidLoad() screenSize = UIScreen.mainScreen().bounds screenWidth = screenSize.width screenHeight = screenSize.height // Do any additional setup after loading the view, typically from a nib let layout: UICollectionViewFlowLayout …

15
向UICollectionViewCell添加圆角和阴影
因此,我已经在添加第二视图以添加阴影的过程中经历过各种讨论,但是如果要在中添加阴影,我仍然无法使它正常工作UICollectionViewCell。我将其子类化UICollectionViewCell,这是我的代码,在其中向单元格的内容视图添加各种UI元素,并向图层添加阴影: [self.contentView setBackgroundColor:[UIColor whiteColor]]; self.layer.masksToBounds = NO; self.layer.shadowOffset = CGSizeMake(0, 1); self.layer.shadowRadius = 1.0; self.layer.shadowColor = [UIColor blackColor].CGColor; self.layer.shadowOpacity = 0.5; [self.layer setShadowPath:[[UIBezierPath bezierPathWithRect:self.bounds] CGPath]]; 我想知道如何在上添加圆角和阴影UICollectionViewCell。


6
在不同的设备方向上更改UICollectionViewCell的大小
我使用的是UICollectionView用UICollectionViewFlowLayout。 我通过设置每个单元的大小 collectionView:layout:sizeForItemAtIndexPath: 从纵向切换为横向时,我想调整每个单元的大小以完全适合CollectionView的大小,而又不留单元之间的填充空间。 问题: 1)旋转事件后如何更改单元格的大小? 2)而且,更好的是,如何在单元格始终适合屏幕整个尺寸的情况下进行布局?

7
UICollectionView的动态单元格宽度取决于标签宽度
我有一个UICollectionView,它从包含标签的可重用单元格加载单元格。数组为该标签提供内容。我可以使用sizeToFit轻松根据内容宽度调整标签宽度。但是我无法制作适合标签的单元格。 这是代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. arrayOfStats = @[@"time:",@"2",@"items:",@"10",@"difficulty:",@"hard",@"category:",@"main"]; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection: (NSInteger)section{ return [arrayOfStats count]; } - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ return CGSizeMake(??????????); } - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ return 1; } - (UICollectionViewCell …

11
UICollectionView flowLayout无法正确包装单元格
我有UICollectionView一个FLowLayout。大部分时间都可以正常工作,但是有时其中一个单元无法正确包装。例如,如果单元格实际上在第二行中尾随,则应该在第三行的第一个“列”中打开的单元格,并且应该有一个空白(请参见下图)。您可以看到的该胭脂细胞只有左侧(其余部分被切除),应该放置的地方是空的。 这并非始终如一;它并不总是同一行。一旦发生,我可以向上滚动然后向后滚动,单元格将自动修复。或者,当我按下该单元格(通过按一下将其带到下一个视图)然后弹出时,我会看到该单元格处于错误的位置,然后它将跳至正确的位置。 滚动速度似乎可以更轻松地重现该问题。缓慢滚动时,仍然可以时不时地看到该单元格处于错误的位置,但是随后它将立即跳到正确的位置。 当我添加节插图时,问题开始了。以前,我的单元格几乎与收集边界齐平(很少或没有插图),而且我没有注意到问题。但这意味着集合视图的左右为空。即,无法滚动。另外,滚动条也不在右边。 我可以使问题同时在Simulator和iPad 3上发生。 我猜是由于左侧和右侧部分的插入而发生了问题。但是如果值错误,那么我希望行为是一致的。我想知道这是否可能是Apple的错误?也许这是由于插图或类似内容的积累。 跟进:我使用Nick的答案已经有两年多了,一直没有问题(如果人们想知道答案是否有漏洞,我还没有发现)。尼克,做得好。

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.