2016-07-02 16 views
3

Ich bin ein Scroll-View-Picker Ich habe den Großteil des Teils implementiert, aber ich bin bei der Änderung der Größe beim Scrollen stecken.Wie UIView Größe ändern, wie es scrollt

Ich versuche, dies zu tun:

chnaging channels

ich bis hier bekommen habe, und ich weiß nicht, wie die Größe ändern mit Scroll-Offset-i viele Dinge ausprobiert, aber nicht Ich brauche Hilfe

my

ich SwipeView bin mit der Rolle zu holen

func swipeViewDidScroll(swipeView: SwipeView!) { 

    //USE swipeView.currentItemView to access current view 
    //USE swipeView.itemViewAtIndex(swipeView.currentItemIndex - 1) to access previous view 
    //USE swipeView.itemViewAtIndex(swipeView.currentItemIndex + 1) to access next View 


    swipeView.currentItemView.frame = CGRect(x: swipeView.currentItemView.bounds.origin.x, y: swipeView.currentItemView.bounds.origin.y , width: (swipeView.currentItemView.bounds.width + swipeView.scrollOffset) - CGFloat((280 * swipeView.currentItemIndex)), height: swipeView.currentItemView.bounds.height) 

} 

Ich habe das Projekt angehängt Ihre Arbeit erleichtert das Verständnis meiner Arbeit LINK TO PROJECT

+1

können Sie Sammelansicht richtig verwenden? –

+0

Verwenden Sie Auto-Layout? –

+0

@GeorgeTaskos No –

Antwort

0

Was darüber zu machen:

  1. eine spezielle Klasse für die Zellen in dem Schieber
  2. wenn die Zelle erstellen erstellt wird, fügen Sie NSLayoutContraints der Breite und des Seitenverhältnisses zur Ansicht hinzu
  3. Erstellen Sie eine Methode zum Erweitern der Zelle mit der Einschränkung insid e die Klasse, wie

    -(void)expandCell { 
        self.widthConstraint.constant = normalWidth * 1.05f; 
    } 
    
    -(void)normalizeCell { 
        self.widthConstraint.constant = normalWidth; 
    } 
    
  4. , wenn die Ansicht in der Mitte ist, rufen Sie die Methode expandCell es 5% zu erweitern und, wenn die Zelle Sie die normalizeCell nennen, ist out. Um die Dinge schöner zu machen, animiert man das einfach.