我正在努力实现在水平仅1xN的集合视图上从相机/图库上传最多五个图像。但是,当我有超过3张图像时,最后的图像显示不正确,部分可见。
在下图中,请注意相机图标,该图标部分在屏幕外。我正在测试iPhone 5s。
我已将此小项目放在以下存储库中:https://github.com/texas16/CameraCollectionView
答案 0 :(得分:2)
我已经检查了你的项目,在这个方法中
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
您的问题是您使用过“<”
[aBlockSelf.arrayOfImages replaceObjectAtIndex:self.selectedPath.row withObject:chosenImage];
if([aBlockSelf.arrayOfImages count] < NUMBER_OF_IMAGES)
{
[aBlockSelf.arrayOfImages addObject:[UIImage imageNamed:@"photo.png"]];
}
但这就是为什么相机图像不会出现在最后一个单元格中,所以你必须使用“&lt; =”
[aBlockSelf.arrayOfImages replaceObjectAtIndex:self.selectedPath.row withObject:chosenImage];
if([aBlockSelf.arrayOfImages count] <= NUMBER_OF_IMAGES) // use <=
{
[aBlockSelf.arrayOfImages addObject:[UIImage imageNamed:@"photo.png"]];
}
并且您还没有设置约束,否则如果您不想使用autoLayout,则需要使用自动调整大小
Check this example (Using Autolayout)
5s截图
使用自动调整大小