标签: uicollectionviewcell

阴影未显示在iOS中的单元格上

我正在使用UICollectionView在主视图中生成多个缩略图.

这工作正常,我能够在单元格周围放置边框以及应用边框(角落)半径.

唯一似乎没有坚持的是每个细胞的阴影.

这是我的代码

....

[cell.layer setBorderColor:[UIColor colorWithRed:213.0/255.0f green:210.0/255.0f blue:199.0/255.0f alpha:1.0f].CGColor];
[cell.layer setBorderWidth:1.0f];
[cell.layer setCornerRadius:7.5f];
[cell.layer setShadowOffset:CGSizeMake(0, 1)];
[cell.layer setShadowColor:[[UIColor darkGrayColor] CGColor]];
[cell.layer setShadowRadius:8.0];
[cell.layer setShadowOpacity:0.8];

return cell;
Run Code Online (Sandbox Code Playgroud)

你知道我做错了什么,我能做些什么让阴影展现出来?

uitableview ios uicollectionview uicollectionviewcell

9
推荐指数
1
解决办法
7059
查看次数

UICollectionView就像iOS Home Screen一样

我想制作像iOS Home Screen一样的UICollectionView.我找到了几个(和好的)样本,如:

http://mobile.tutsplus.com/tutorials/iphone/uicollectionview-layouts/

http://www.cocoacontrols.com/platforms/ios/controls/sespringboard

http://www.cocoacontrols.com/platforms/ios/controls/aqgridview

http://www.cocoacontrols.com/platforms/ios/controls/namenu

http://www.cocoacontrols.com/platforms/ios/controls/mgbox2

iOS:有没有像主屏幕那样的开源Launcher Views?

上面的所有库都运行良好.编辑,删除和动画不是问题.但是,将两个单元组合成一个新组,好吧,没有一个库可以做到.我搜查了很多,但没有找到任何东西.有没有人知道任何库可以通过拖放来组合两个单元格?!?!或者至少有一些关于如何制作的提示?!?

objective-c ios uicollectionview uicollectionviewcell

9
推荐指数
1
解决办法
4046
查看次数

UICollectionView moveItemAtIndexPath:toIndexPath:不在屏幕上发出移动项目

我正在尝试在iOS 6上的UICollectionView中重新排序项目的动画.

我写了这段代码:

    NSMutableDictionary *from = [NSMutableDictionary dictionaryWithCapacity:self.count];
    for (int ii = 0; ii < self.count; ii++) {
        MyItem item = [self getItemAtIndex:(NSInteger)ii];
        [from setObject:[NSNumber numberWithInt:ii] forKey:[NSNumber numberWithInt:item.id]];
    }

    [self sort];

    [self.collectionView performBatchUpdates:^{
        for (int ii = 0; ii < self.count; ii++) {
            MyItem item = [self getItemAtIndex:(NSInteger)ii];
            NSNumber *prevPos = (NSNumber *)[from objectForKey:[NSNumber numberWithInt:item.id]];
            if ([prevPos intValue] != ii) {
                NSIndexPath *from = [NSIndexPath indexPathForItem:prevPos.intValue inSection:0];
                NSIndexPath *to = [NSIndexPath indexPathForItem:ii inSection:0];
                [self.collectionView moveItemAtIndexPath:from toIndexPath:to];
            }
        }
    } completion:nil]; …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview uicollectionviewcell

9
推荐指数
1
解决办法
1万
查看次数

循环遍历UICollectionview中的所有单元格

我有UICollection,其中将有许多学生项目和每个项目内有开关用于录制考勤.我像这样循环遍历所有可见的细胞.

for(attendancecollectionViewCell* cells in [[self collectionView] visibleCells]){

    NSLog(@"The switch value : %c",cells.attendanceSwitchLabel.isOn);

}
Run Code Online (Sandbox Code Playgroud)

但是,我想循环遍历所有细胞以便参加,而不仅仅是可见细胞.

uicollectionview uicollectionviewcell

9
推荐指数
1
解决办法
2万
查看次数

如何在iOS 7中刷新UICollectionViewCell?

我正在尝试在Xcode 5中开发我的应用程序并在iOS 7环境下进行调试.

我有一个自定义的UICollectionViewLayoutAttributes.

我打算在长按UICollectionViewCell后做一些事情,所以我重写了UICollectionViewCell.m中的方法

- (void)applyLayoutAttributes:(MyUICollectionViewLayoutAttributes *)layoutAttributes
{
    [super applyLayoutAttributes:layoutAttributes];
    if ([(MyUICollectionViewLayoutAttributes *)layoutAttributes isActived])
    {
        [self startShaking];
    }
    else
    {
        [self stopShaking];
    }
}
Run Code Online (Sandbox Code Playgroud)

在iOS 6或更低版本中,- applyLayoutAttributes:在我调用下面的语句后调用.

UICollectionViewLayout *layout = (UICollectionViewLayout *)self.collectionView.collectionViewLayout;
[layout invalidateLayout];
Run Code Online (Sandbox Code Playgroud)

但是,在iOS 7中,即使重新加载CollectionView,也不会调用- applyLayoutAttributes:.

这是一个苹果稍后会修复的错误,或者我必须做些什么?

uicollectionview uicollectionviewcell ios7 xcode5

9
推荐指数
1
解决办法
3786
查看次数

获取uicollectionviewcell的触摸位置

我试图在所选的UICollectionviewCell中获取触摸位置.我有一个UIViewController,vc,包含一个UICollectionView,collectionView作为它的视图.collectionView内部是UICollectionViewCells.vc符合UICollectionViewDelegate所以最好我想在委托回调中获取触摸位置collectionView:(UICollectionView *)collection didSelectItemAtIndexPath:(NSIndexPath *)indexPath,(如果可能的话).有关如何做到这一点的任何建议?谢谢.

+--------------------------------------------+
| UICollectionView                           |
|                                            |
|  +-------------+       +-------------+     |
|  |  UICollec   |       |             |     |
|  |  tionView   |       |             |     |
|  |  Cell       |       |     *<---------------<Touch here
|  |             |       |             |     |
|  +-------------+       +-------------+     |
|                                            |
+--------------------------------------------+    
Run Code Online (Sandbox Code Playgroud)

*更新* 我最终检测到UIViewCollectionView使用UIGestureRecognizer的点击,然后将点击点转换为UICollectionViewCell视图.如果有更好的方法,请告诉我.谢谢.

-(void) viewDidLoad {
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    [tapGesture setNumberOfTapsRequired:1];
    [self.collectionView addGestureRecognizer:tapGesture];
}

-(void) handleTap:(UIGestureRecognizer*) gesture …
Run Code Online (Sandbox Code Playgroud)

objective-c ios uicollectionview uicollectionviewcell

9
推荐指数
1
解决办法
5012
查看次数

使用自调整大小单元垂直滚动UICollectionView仅显示一半单元格

我已经设置了一个UICollectionView(使用默认的流程布局和垂直滚动),其中包含从xib加载的自定义单元格.单元格包含一些对它们有约束的元素(a UILabel和a UIView).我已经设置了约束,使得使用UICollectionViewFlowLayoutiOS8中可用的新属性,单元格高度随着标签文本高度的增加而增长estimatedItemSize:

layout.estimatedItemSize = CGSizeMake(self.collectionView.frame.width, 100)
Run Code Online (Sandbox Code Playgroud)

除了有一个大问题,一切都像魅力一样:UICollectionView加载只有numberOfItemsInSection方法返回的项目的一半.因此,当方法返回时,例如10,我UICollectionView只显示5个单元格(但显示并完美地放置它们).

调试尝试的一些相关结果:

  • 我已经能够通过调用invalidateLayout或更改从1到2的部分数量来强制加载剩余的项目.但这些只是调试黑客.
  • 另外,当我estimatedItemSizeitemSize属性替换时,一切都像魅力一样,即硬编码项目大小.但这会破坏我想要实现的自我调整功能.

我假设我在考虑自我大小的细胞有什么问题.具体来说,我想知道问题是否与约束有关.

我很感激这里有任何帮助.

ios uicollectionview uicollectionviewcell swift ios8

9
推荐指数
2
解决办法
6652
查看次数

在故事板中设计UICollectionViewCell

我从未使用过UICollectionViewControllers,我认为它们与UITableViewControllers 有些相似,但令我惊讶的是,我无法UICollectionViewCell像使用自定义UITableViewCells 那样将UI元素添加到自定义s中.

实际上,我可以在Interface Builder中添加标签,按钮等,但是当我运行应用程序时,单元格显示为空.

我已经注册了在细胞类viewDidLoad通过调用方法(void)registerClass:(Class)cellClass forCellWithReuseIdentifier:(NSString *)identifier,我已经检查了我回国的有效实例UICollectionViewCell(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath方法.

我究竟做错了什么?

objective-c ios uicollectionview uicollectionviewcell

9
推荐指数
1
解决办法
8329
查看次数

防止粘滞的UICollectionView部分标题被页脚添加

这就是我在滚动时将sectionHeader粘贴到collectionView顶部的方法

    (collectionView.collectionViewLayout as? UICollectionViewFlowLayout)?.sectionHeadersPinToVisibleBounds = true;
Run Code Online (Sandbox Code Playgroud)

问题是,当页眉击中页脚时,它会被页脚向上推.

我们如何确保标题只能被另一个标题推送?

谢谢

ios uicollectionview uicollectionviewcell uicollectionreusableview swift3

9
推荐指数
1
解决办法
388
查看次数

突出显示uicollectionview单元格

我有一个滑出菜单,我已经实现为UICollectionViewController.我也为集合视图创建了自定义单元格.导航和一切按预期工作.我遇到麻烦的是当我点击一个实际的细胞时改变细胞外观.

我已经尝试了几种基于解决方案的方法(1)(2)我在堆栈上看过但没有让我满意.

解决方案1:实现UICollectionViewController委托方法:

class SlideOutMenuViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout{
   //Setup code and other delegate methods….

    override func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! SlideOutMenuCells

        cell.backgroundColor = .white
    }

    override func collectionView(_ collectionView: UICollectionView, didUnhighlightItemAt indexPath: IndexPath) {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! SlideOutMenuCells

        cell.backgroundColor = UIColor.mainGreen()
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个解决方案,没有任何反应.单元格背景颜色不会改变颜色.

解决方案2:此解决方案产生更好的结果,除了当我按住单元格时单元格会改变颜色.我希望单元格的背景颜色能够在点击时快速闪烁或突出显示,而不仅仅是用户按住单元格.

class SlideOutMenuCells: UICollectionViewCell {

    //Setup code...

    override var isHighlighted: Bool {
        didSet …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview uicollectionviewcell swift

9
推荐指数
2
解决办法
2322
查看次数