2016-08-23 2 views
3

Я написал код для прокрутки изображения в приложении галереи. Когда он появляется на большом изображении, я хочу прокрутить изображения слева и справа и записать следующий код. Но он все еще не работает. Может кто-нибудь предложить, что не так с кодом?Как прокрутить изображения влево и вправо, когда оно появилось на большом изображении

override func viewDidLoad() { 
     super.viewDidLoad() 

self.imageview.image = self.Image 


    var leftSwipe = UISwipeGestureRecognizer(target:self, action: Selector("handleSwipes:")) 
     var rightSwipe = UISwipeGestureRecognizer(target:self, action: Selector("handleSwipes:")) 


     leftSwipe.direction = .Left 
     rightSwipe.direction = .Right 

     view.addGestureRecognizer(leftSwipe) 
     view.addGestureRecognizer(rightSwipe) 
} 

func handleSwipes(sender: UISwipeGestureRecognizer) { 
     if (sender.direction == .Left){ 
      self.imageview.image = self.Image 
     } 

     if (sender.direction == .Right){ 
      self.imageview.image = self.Image 
     } 

    } 

ответ

1

handleSwipes FUNC вызывает self.Image и никогда не обновляются, так как он выделяется (т.е. self.Image один само изображение) в viewdidload.Just проходит различные изображения для левого и правого взмаха Просто передайте другое изображение в левом и правом саблях. если (sender.direction == .left) { self.imageview.image = self.Image }

if (sender.direction == .Right){ 
     self.imageview.image = UIImage(named: "myImage.png"); 
    } 
+0

Что должно быть тип возвращаемого значения для функции SwipeGestureRecognizer после вызова в viewDidLoad? – Venky

+0

редактирование моего ответа – datha

1

при условии, что у вас есть массив UIImage с названием imagesArray

var currentIndex = 0{ 
    didSet{ 
    self.imageview.image = imagesArray[currentIndex] 
    } 
} // instance variable 

func handleSwipes(sender: UISwipeGestureRecognizer) 
{ 
    if (sender.direction == .Left) 
    { 
     if currentIndex < imagesArray.count - 1 
     { 
      currentIndex++ 
     } 
    } 
    else 
    { 
     if currentIndex > 0 
     { 
      currentIndex-- 
     } 
    } 
}