Zastanawiam się, w jaki sposób Snapchat ożywia ducha, gdy odsuwasz go, aby odświeżyć? Chciałem to zaimplementować w mojej aplikacji i zastanawiałem się, jak to się stało.Animowany program ładujący, taki jak Snapchat
7
A
Odpowiedz
7
Myślę, że trzeba napisać własne rozwiązanie. Ale to naprawdę nie jest takie trudne.
Musisz utworzyć niestandardowy widok nagłówka tabeli zawierający rozciągliwy obraz i zaimplementować obsługę w swoim UITableViewDelegate
. Poniżej przedstawiono dość ogólną implementację niestandardowego sterowania odświeżaniem.
1) utworzyć niestandardowy UIView służyć jako rozwijanego widzenia wskaźnika: Plik
Header:
#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) przypisać headerView jako nagłówek Tableview:
self.header = [[UpdateListView alloc] init];
self.table.tableHeaderView = self.header;
3) W twoim UITableViewDelegate
, Wdrożyć tablica obsługi przewijania:
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;
}
}
Powiązane problemy
- 1. autouzupełnianie jQuery: jak wyświetlać animowany obraz ładujący gif
- 2. Jak działa program ładujący Raspberry Pi?
- 3. Program ładujący aplikacji ERROR ITMS-90062
- 4. SQL * Program ładujący nie rozpoznaje ogranicznika "¥"
- 5. Program ładujący początkowy WCF rejestrujący wiele usług
- 6. Jak ustawić niestandardowy program ładujący klasy jako domyślny?
- 7. Jak zarejestrować inny (niestandardowy) program ładujący Twig w środowisku Symfony2?
- 8. Depth Pager Transformer podobnie jak SnapChat
- 9. Uniwersalny program ładujący obrazy - ręczne czyszczenie pamięci podręcznej
- 10. Czy w Pythonie istnieje program taki jak GitLab?
- 11. Asynchroniczny program ładujący obraz w widoku listy [Android]
- 12. Bardzo spowalniające ładowanie aplikacji/błąd komunikacji - program ładujący
- 13. Program ładujący aplikacji: "Nie znaleziono żadnych kwalifikujących się aplikacji."
- 14. Emuluj dynamiczny program ładujący, aby naprawić korekcje bibliotek współdzielonych
- 15. Program ładujący aplikacji czeka i połączenie sieciowe zostało utracone
- 16. Ręczne aktualizowanie atrybutów zainstalowanych przez program ładujący Carrierwave
- 17. Animowany ekran powitalny iOS
- 18. Pasek stanu aktualizacji Snapchat Aktualizacja iOS7
- 19. Jak stworzyć animację animowany rollover strzałki
- 20. Animowany obraz tła
- 21. Umożliwia odtwarzanie muzyki podczas nagrywania wideo, takiego jak snapchat ios
- 22. Python - Jak można wykryć, że moduł został załadowany przez niestandardowy program ładujący?
- 23. Jak znaleźć, które słoiki i w jakiej kolejności są ładowane przez program ładujący klasy?
- 24. Kiedy i jak jest oznaczany program ładujący klasy java do zbierania śmieci?
- 25. Przenieś obraz animowany
- 26. Cliping animowany div
- 27. iPhone Animowany ekran ładowania
- 28. Animowany błąd kodera gifa
- 29. Animowany histogram Matplotlib
- 30. Jak zrobić leniwy obraz ładujący z srcset?
Szukałem całego sposobu korzystania z UIRefreshControl Core Animation, lub informacji o tym, jak zrobić pull-do-odświeżania od zera, więc mogłem dodać animacje. Właśnie zobaczyłem animowany odświeżacz Snapchata, więc jest to całkowicie możliwe. Daje mi to nagrodę. – user
Jestem prawie pewien, że to zwykły pociąg do odświeżenia, rozciągnięcia ducha, a następnie wykonania niestandardowej animacji. To jest najbliższa rzecz, jaką mogłem znaleźć. https://www.cocoacontrols.com/controls/spiralpulltorefresh –
Osoba, która potwierdziła wniosek - proszę wyjaśnić, jakie zasady lub protokoły są naruszane. – user