Tag: 自我评价

从设备获取所有图像,并在uicollectionview中显示

我想在uicollectionview中将设备中的所有图像显示到我的应用程序。 并希望从uicollectionview中select多个图像。 我看过一些节目。 ELCImagePickerController 但我不能正确地得到它。 请帮助我…谢谢 这个链接工作正常… 多选ImagePicker,但我怎么能从button完成选定的图像到数组.. 当我按下这样的arrays中显示的完成button图像…. <UIImage: 0x7fca78772510>, {485, 303} 所以,我怎么能得到这个图像在我的collections查看..帮助我们球员….

防止UICollectionView重绘

我的目标是使用UICollectionView显示一排延迟加载的缩略图(数字未知),然后用户可以水平滚动缩略图。 我正在使用下面的代码来实现接近我后,但我得到一个错误。 前4个缩略图加载没问题,但是当您滚动缩略图时,会开始按照随机顺序绘制。 我正在努力获得以下内容: Item 1 —– Item 2 —– Item 3 —- Item 4 我喜欢它,所以单元格只能绘制一次,类似于使用UITableView时所获得的结果。 我只想要UICollectionView重新加载数据,当我要求它。 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath]; UIView *tmpView; if([self.selectedEffects isEqualToString:@"Effects"]){ int index = indexPath.row; NSLog(@"%i",index); tmpView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 70, 90)]; [tmpView setBackgroundColor:[UIColor clearColor]]; UIImageView *imageViewWithEffect = [[UIImageView alloc] initWithFrame:CGRectMake(5, 0, […]

插入或删除多个项目时,UICollectionView速度非常慢

我试图从一个集合视图中插入和删除大量的项目(比如20,000),这个操作需要很长时间。 我创build的testing夹具由以下部分组成: UICollectionView除了数据源之外没有configuration。 默认的UICollectionViewFlowLayout 。 根据BOOLvariables返回10K或30K项目的数据源。 button来切换该variables。 当设置为YES ,20K项目正在被添加到数据源(通过改变numberOfItemsInSection:和insertItemsAtIndexPaths:被添加到20K项目。 当设置为NO ,将调用deleteItemsAtIndexPaths: 20K项目。 数据源中的单元configuration除了UICollectionViewCell默认的UICollectionViewCell并返回它外,什么都不做。 在模拟器上运行这个应该比任何设备都快的模拟器产生以下时序: 插入20K项目:220ms。 删除相同的20K项目:1100毫秒。 无论如何,这是非常缓慢的,特别是在主线上执行的时候。 下面是仪器的屏幕截图,显示了UICollectionView内部实现中的热点(具体来说_computeItemUpdates ): 我注意到使用reloadData而不是插入或更新项目是更快的方法(〜20ms),可能是因为没有animation触发,所以不需要计算每个项目和部分的animation位置的位置。 任何想法如何克服这将不胜感激。

如何添加取消select到UICollectionView但没有多个select?

我目前有一个视图有4个不同的采集视图,我想允许取消select。 为此,我必须设置: //Stop multiple selections on collectionview self.bagsCollectionView.allowsMultipleSelection = YES; self.shoesCollectionView.allowsMultipleSelection = YES; self.dressesCollectionView.allowsMultipleSelection = YES; self.jewelleryCollectionView.allowsMultipleSelection = YES; 不过,我只想从每个collectionview中select一个单元格。 例如,在bagsCollectionView中,用户可以select一个包,但也可以取消select另一个包。 他们不能挑两个袋子或两个鞋子。 其他三个收集意见也一样! 我该怎么做呢?

如何创build只有静态单元格的集合视图?

我想添加一个包含7个静态单元的垂直集合视图。 我知道如何dynamic地做这件事,但是我没有看到这样做的理由。 我必须使用cellForRow方法吗? 我添加了一个集合视图到我的viewController,并添加了4个单元格,将collectionView中的代表连接到vc(使用storyBoard),但是当我运行它时,它显示出一个空的collectionView。 我确实设置了numberOfSections返回1,numberOfCellsInSection返回7.我错过了什么? 或者我必须符合DataSource协议并实现cellForRow方法? (在TableView中,我可以跳过使用静态单元cellForRow)。 谢谢您的帮助。

UICollectionView数据源方法没有被调用,而是在init中设置

这是我的源代码 – (id)initWithCollectionView:(UICollectionView *)collectionView { self = [super init]; if (self) { self.collectionView = collectionView; self.collectionView.dataSource = self; self.collectionView.delegate = self; [self.collectionView registerClass:[TWNTweetCell class] forCellWithReuseIdentifier:kCell]; self.collectionViewLayout = self.collectionView.collectionViewLayout; self.tweetArray = @[]; self.tweetTextArray = @[]; self.twitter = [STTwitterAPI twitterAPIOSWithFirstAccount]; } return self; } #pragma mark – CollectionView #pragma mark DataSource -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return 1; } […]

点击时,UICollectionView细胞改变背景

只有在轻击元素时才有可能更改UICollectionView的背景颜色。 我努力了: -(void) collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{ //change color when tapped } -(void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath{ //change back on touch up } 但结果是,只有当我长时间保持手指时,才能看到变化。 有没有像UITableViewCell方法willSelectItemAtIndexPath:类似的东西willSelectItemAtIndexPath: ?

IOS Photos应用程序如何在一个屏幕上显示数百张照片?

我正在开发一个应用程序,它依靠在多个来源的屏幕上显示大量照片。 我想知道苹果如何能够在他们的照片应用程序“照片瓷砖”视图? 有了这么多的照片,在我看来,应用程序应该提供更less的照片的内存警告(即使我加载照片的“缩略图大小”)一次显示,但我可以看到,它可以显示数百张照片,当我放大出。 我能想到的一种方式是这些视图不是单独的照片,而是实时从照片生成的单个“平铺”图像,所以应用程序一次只显示2-3张照片。 但是这仍然需要大量的CPU功耗和时间来产生这么快的速度。 我可以立即放大或缩小。 我想在我的应用程序中实现类似的function,如何实现这一目标的任何方向将是伟大的。 感谢您的回答。

什么导致这个iOS崩溃? UICollectionView收到一个索引path不存在的单元格的布局属性

我正在开发一个应用程序,它有一个UICollectionViewController,在某些难以复制的神秘情况下崩溃。 崩溃的日志如下所示: *** Assertion failure in -[UICollectionViewData validateLayoutInRect:], /SourceCache/UIKit_Sim/UIKit-3318.16.14/UICollectionViewData.m:417 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView received layout attributes for a cell with an index path that does not exist: <NSIndexPath: 0xc000000000008016> {length = 2, path = 0 – 1}' 这样的崩溃似乎只有在我们切换到iOS 8 SDK后才开始在我们的代码中发生。 为什么发生这种情况? 注意:我已经知道问题的答案是什么了,但是在堆栈溢出和networking的其他部分,我发现很less有关于这个崩溃的信息。 我会在下面回答。 这个错误带我的同事和我三天追查,所以希望这个职位会节省别人很多时间和挫折。 我已经提交了这个与苹果的错误。

具有dynamic高度的UICollectionView错误

由于我一直在这个问题上挣扎了3天,并且已经问了两次,但是可能还不清楚,所以我决定调查这个问题,并且发现了这个问题。 我会显示整个简单的代码,所以任何人都可以重现的错误(iPad空气)。 我正在设置一个collectionViewstream布局,使布局子类化以获得单元格之间的恒定间距,这里是开始: TopAlignedCollectionViewFlowLayout *layout = [[TopAlignedCollectionViewFlowLayout alloc] init]; CGRect size = CGRectMake(0, 0, 900, 1200); self.GridView = [[UICollectionView alloc] initWithFrame:size collectionViewLayout:layout]; [self.GridView registerClass:[GridCell class] forCellWithReuseIdentifier:@"Cell"]; [self.GridView setDelegate:self]; [self.GridView setDataSource:self]; [self.view addSubview:self.GridView]; 然后设置我的委托是这样简单:( 高度是dynamic的 ) #pragma grid- main functions -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return 1; } -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 80; } //cell size – […]