0

大家早上好,UILongPressureRecognizer與圖片視圖

我是新手斯威夫特開發商和我面臨着以下問題實現我處理的練習。

我有收集單元顯示我在XCODE導入的圖像的集合圖。當我與屏幕上的手指輕點,我想替換另外一個,我還引進了像目前正在顯示,和動畫這種替換。

我正在實現UITapLongPressureRecognizer方法,但我對識別器要實現哪種狀態感到困惑,只是將第一個圖像視圖替換爲當我點擊屏幕以上下滾動時要顯示的圖像視圖。

正如你可以從下面兩個識別器,我認爲應該是比較合適的要實現的代碼中看到的是「開始」和「結束」。 我的問題是,當狀態。開始開始時,我不知道如何動畫更換一個圖像視圖與另一個,所以當狀態是.Ended我不知道如何替換第二個圖像與第一個和替代動畫(我希望它是例如與「交叉溶解」過渡莫代爾賽格)。

預先感謝您的好意和耐心。

class MainViewController: UICollectionViewController { 

var fashionArray = [Fashion]() 
private var selectedIndexPath: NSIndexPath? 

override func viewDidLoad() { 
    super.viewDidLoad() 

    selectedIndexPath = NSIndexPath() 

    //Register the cell 
    let collectionViewCellNIB = UINib(nibName: "CollectionViewCell", bundle: nil) 
    self.collectionView!.registerNib(collectionViewCellNIB, forCellWithReuseIdentifier: reuseIdentifier) 

    //Configure the size of the image according to the device size 
    let layout = collectionViewLayout as! UICollectionViewFlowLayout 
    let bounds = UIScreen.mainScreen().bounds 
    let width = bounds.size.width 
    let height = bounds.size.height 
    layout.itemSize = CGSize(width: width, height: height) 

    let longPressRecogn = UILongPressGestureRecognizer(target: self, action: "handleLongPress:") 
    collectionView!.addGestureRecognizer(longPressRecogn) 
} 

func handleLongPress(recognizer: UILongPressGestureRecognizer){ 

    var cell: CollectionViewCell! 
    let location = recognizer.locationInView(collectionView) 
    let indexPath = collectionView!.indexPathForItemAtPoint(location) 
    if let indexPath = indexPath { 
     cell = collectionView!.cellForItemAtIndexPath(indexPath) as! CollectionViewCell 
    } 

    switch recognizer.state { 
    case .Began: 
     cell.screenTapped = false 
    case .Ended: 
     cell.screenTapped = false 
    default: 
     println("") 
    } 
} 

回答

0

首先,我建議您使用UITapGestureRecognizer而不是長按。因爲,據我所知,你只需點擊一次,而不是按一會兒。

let tapRecognizer = UITapGestureRecognizer(target: self, action:Selector("tapped:")) 
collectionView.addGestureRecognizer(tapRecognizer) 

而當用戶點擊時,您可以使用UIView動畫更改圖像。您可以從以下鏈接查看示例II,以獲得有關動畫的信息。 http://www.appcoda.com/view-animation-in-swift/