集合视图的全屏视图

时间:2019-02-07 20:30:30

标签: ios swift uicollectionview

这更多是方法问题。假设我有一个集合视图,其中每个单元格都占据了整个屏幕,其中包含图像和一些其他数据(例如标题,信息等)。我想要的是用户点击单元格,然后图像进入全屏模式。我可以通过初始化一个单独的视图并缩放图像以使其适合此屏幕来实现此目的。

int randomNumber = new Random().Next(1, 101);

int x = GetIntFromUser("I'm thinking of a number from 1 to 100. Try to guess it: ", i =>
{
    Console.WriteLine(i < randomNumber
        ? $"{i} is too low - guess a larger number."
        : i > randomNumber ? $"{i} is too high - guess a smaller number." : "Correct!");
    return i == randomNumber;
});

,然后通过删除视图将其消除,如下所示:

            let newImageView = UIImageView(image: imageView.image)
            newImageView.frame = UIScreen.main.bounds
            newImageView.backgroundColor = .black
            newImageView.contentMode = .scaleAspectFit 

Q1。有没有一种方法可以操纵所有collectionview单元以在点击时转换为全屏视图,以便我可以使用collection view的默认滑动动作来水平滚动图像?

Q2。如果没有,我将使用此库INSPhotoGallery!在水龙头上添加效果,这给了我想要的效果,但是由于从PHAsset库加载了大量图像,我的应用程序崩溃了。

这是我初始化我的阶段集以传递到该库中的方式:

        self.navigationController?.isNavigationBarHidden = false
        navigationController?.isToolbarHidden = false
        sender.view?.removeFromSuperview()
    }

问题是如何防止我的应用崩溃。我知道这与缓存图像和异步加载有关。您是否知道可以与PHAssets很好集成的库?谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 您还可以使用页面视图控制器来实现相同的功能。如果您的单元格少于5个,那将很有价值。
  2. 您可以模态全屏显示图像。只需为该模式屏幕创建单独的视图控制器并实现动画师(过渡委托)。这将是更困难但也更合适的方式。 AppStore以相同的方式工作