Проведите пальцем, чтобы отобразить второе изображение в новом viewcontroller - PullRequest
0 голосов
/ 17 сентября 2018

Мое приложение отображает табличное представление, которое откроется и отобразит изображение на новом ViewController.Я могу отправить массив изображений на новый контроллер, но не могу понять, как провести пальцем, чтобы отобразить второе изображение, которое является частью отправленного массива.Мой код ниже:

var firstchoice: [UIImage] = [
    UIImage(named: "Appa1")!,
    UIImage(named: "Appa2")!
]




func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
    ///Right way here
    ///You can easily manage using this
    let Vc = self.storyboard?.instantiateViewController(withIdentifier: "imageViewController") as! imageViewController



    ///Here you have written four Animal names in Array
    ///So There is going to four case 0,1,2,3 and a default case
    switch indexPath.row
    {
    case 0:
        Vc.passedArray = firstchoice
        self.navigationController?.pushViewController(Vc, animated: true)
        break;

imageViewController code:

class imageViewController: UIViewController,GADBannerViewDelegate, UIGestureRecognizerDelegate, UIScrollViewDelegate {

    var bannerView: GADBannerView!



    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var myImageView: UIImageView!


    @IBAction func pictureSwipe(sender: UISwipeGestureRecognizer) {

        let pictureString:String = self.passedArray[index]
        self.myImageView.image = passedArray.first

        index = (index < passedArray.count-1) ? index+1 : 0
    }

    var passedImage : UIImage! = nil
    var passedArray : [UIImage]!

    var index = 0

    override func viewDidLoad(){
        super.viewDidLoad()
        self.myImageView.image = passedArray.first
        self.navigationController?.navigationBar.isHidden = false

        scrollView.minimumZoomScale = 1.0
        scrollView.maximumZoomScale = 5.0

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете настроить свой второй контроллер вида как UIPageController, который имеет встроенную функцию swiping. Затем вы просто предоставляете массив изображений и currentIndex для выбранного изображения.Затем пользователь может пролистать другие связанные изображения.Вы также можете добавить UIPageControl, если хотите, чтобы показать пользователю, что доступно больше изображений.

В методе didSelect в вашем коде есть несколько улучшений, которые я бы предложил:

  1. вызов self.navigationController?.pushViewController(Vc, animated: true) после оператора switch для предотвращения дублирования кода
  2. Используйте массив для изображений, а затем вы можете просто выбрать изображение по адресу indexPath.row
  3. Как только у вас будет этомассив, вы можете просто передать весь массив и indexPath на ваш второй vc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...