2013-07-10 24 views
7

Yenilemek için aşağı çekilirken nasıl çığlık atan şey hayalet şeyleri canlandırıyor acaba? Bunu uygulamamda uygulamak istedim ve nasıl yapıldığını merak ediyordum.Animasyonlu yükleyici: Snapchat

+0

. Sadece Snapchat'ın animasyonlu tazelerini gördü, bu yüzden tamamen mümkün. Buna bir ödül veriyorum. – user

+3

Oldukça eminim ki, hayaleti canlandırmak, özel bir animasyon yapmak için düzenli bir çekiş. Bu, bulabildiğim en yakın şey. https://www.cocoacontrols.com/controls/spiralpulltorefresh –

+3

Kimi düşürdüyse - lütfen hangi kuralların veya protokollerin ihlal edildiğini açıklayın. – user

cevap

7

Kendi çözümünüzü yazmanız gerektiğini düşünüyorum. Ama bu gerçekten zor değil.

Gerilebilir bir görüntü içeren özel bir tablo başlığı görünümü oluşturmanız ve UITableViewDelegate ürününüzde bazı işlemleri gerçekleştirmeniz gerekir. Aşağıda, özel bir yenileme kontrol işleminin oldukça genel bir uygulaması bulunmaktadır.

self.header = [[UpdateListView alloc] init]; 
self.table.tableHeaderView = self.header; 
: tableView başlık olarak headerView atamak)

#import <UIKit/UIKit.h> 

typedef enum UpdateListViewState 
{ 
    UpdateListViewStatePull, 
    UpdateListViewStateRelease, 
    UpdateListViewStateUpdate 

}UpdateListViewState; 


@interface UpdateListView : UIView 
@property (nonatomic,readwrite) UpdateListViewState state; 
@property (nonatomic,strong) UIImageView imageView; 
@end 

2:

Başlık dosyası:

1) senin açılan gösterge görüntüsü olarak hizmet için özel bir UIView oluşturmak

3) UITableViewDelegate'unuzda , Masa kaydırma işleme uygulamak: Ben çekme Yenilemek için sıfırdan ben animasyonlar eklemek olabilecek bir nedenle yapmak için nasıl bir UIRefreshControl ile Çekirdek Animasyon kullanmak yolu olarak veya bilgi için tüm aradım

const int UPDATE_DRAG_HEIGHT = -70; 

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset 
{ 
    if (self.header.state == UpdateListViewStateRelease) { 
     //Perform update stuff here & perhaps refresh animation 
     self.header.state = UpdateListViewStateInitial; 

    } 
} 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    //adjust size of self.header.imageView here according to scrollView.ContentOffset 
    if (scrollView.contentOffset.y < UPDATE_DRAG_HEIGHT && self.header.state != UpdateListViewStateUpdate) { 
      self.header.state = UpdateListViewStateRelease; 
    } 
}