2016-07-14 37 views
0

Ich versuche, ein Tippen Gestenerkenner zu einigen UImages, die in einer seitlichen scrollview sind hinzufügen, aber die Bilder werden nicht erkennen, den Hahn und ich kann nicht sehen, wo ich falsch gelaufen bin . Ich habe "scrollView.bringSubViewToFront (imgView)" ausprobiert, weil ich dachte, dass sie in Schichten anderer Ansichten vergraben werden könnten, aber das hat auch nicht den Trick gemacht. "contentView" ist die UIImageView in Frage, wo meine scrollView nur eine Sammlung von diesen ist. Jede Hilfe hier wäre dankbar, danke.UImage wnt nicht erkennen tippen Geste Swift

//function to create contentScrollView for MiniMatches 
func setupMiniContentScroll(contentScroll: UIScrollView) { 
    let scalar:Double = 4/19 
    let contentViewDimension = contentScroll.frame.width * CGFloat(scalar) 
    let contentScrollWidth = CGFloat(LocalUser.matches.count) * (contentViewDimension + CGFloat(12)) - CGFloat(12) 
    let matchManager = MatchesManager() 

    for index in 0..<LocalUser.matches.count { 
     let match = LocalUser.matches[index] 
     matchManager.retrieveMatchThumbnail(match) { img, error in 


      if let img = img { 

       //create the mini matches views 
       let xOrigin = index == 0 ? 12 : CGFloat(index) * contentViewDimension + (CGFloat(12) * CGFloat(index) + CGFloat(12)) 
       let contentFrame = CGRectMake(xOrigin, 10, contentViewDimension, contentViewDimension) 
       let contentView = self.makeMiniContentView(contentFrame, image: img, matchedPrice: match.matchedPrice) 

       let tap = UITapGestureRecognizer(target: self, action: #selector(BrowseViewController.toggleItemInfo(_:))) 
       contentView.addGestureRecognizer(tap) 
       self.miniMatchContainer.append(contentView) 

       //update the contentScrollView 
       dispatch_async(dispatch_get_main_queue()) { 

        let contentLabelFrame = CGRect(x: xOrigin, y: contentFrame.height + 15, width: contentFrame.width, height: 20) 
        let contentLabel = self.makeMiniContentLabel(contentLabelFrame, itemName: match.itemName) 
        let priceLabel = self.makeMiniPriceLabel(contentFrame, matchedPrice: match.matchedPrice) 

        contentScroll.addSubview(contentView) 
        contentScroll.addSubview(contentLabel) 
        contentScroll.addSubview(priceLabel) 
        contentScroll.contentSize = CGSizeMake(contentScrollWidth + CGFloat(16), contentScroll.frame.height) 
       } 
      } 

     } 
    } 
} 
+0

versuchen und eine eigene Funktion mit dem Hahn Geste darin, zum Beispiel func imageTapped() { let tap = UITapGestureRecognizer (Ziel: Selbst, Aktion: #selector (BrowseViewController.toggleItemInfo (_ :))) content. addGestureRecognizer (antippen) self.miniMatchContainer.append (contentView) } In Ihrer if-Anweisung rufen Sie die Funktion imageTapped() auf – Konsy

Antwort

2

Haben Sie UIImage Eigenschaft userInteractionEnabled auf true gesetzt?