我從右向左滑動手勢後爲webview加載新內容。手勢執行後,webview加載其新內容。我該如何爲這個webview製作一個動畫,從而根據這個動作顯示一個「swap-away」webview的內容?所以,當用戶從右向左滑動時,webview也應該從右向左移動。最終「飛走」。我認爲一些音樂應用程序有這個地方,你可以通過刷一個來加載一個新的軌道。謝謝!用於Webview的滑動轉場動畫
2
A
回答
8
按照以下代碼,您可以使用單個UIWebView
應用滑動動畫。
- (void)viewDidLoad
{
[super viewDidLoad];
UISwipeGestureRecognizer *recognizerRight;
recognizerRight.delegate=self;
recognizerRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRight:)];
[recognizerRight setDirection:UISwipeGestureRecognizerDirectionRight];
[webView addGestureRecognizer:recognizerRight];
UISwipeGestureRecognizer *recognizerLeft;
recognizerLeft.delegate=self;
recognizerLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeleft:)];
[recognizerLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[webView addGestureRecognizer:recognizerLeft];
}
現在在CATransition
的幫助下應用滑動效果。
-(void)swipeleft:(UISwipeGestureRecognizer *)swipeGesture
{
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight];
[animation setDuration:0.50];
[animation setTimingFunction:
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[webView.layer addAnimation:animation forKey:kCATransition];
}
-(void)swipeRight:(UISwipeGestureRecognizer *)swipeGesture
{
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromLeft];
[animation setDuration:0.40];
[animation setTimingFunction:
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[webView.layer addAnimation:animation forKey:kCATransition];
}
希望這對你有所幫助。
0
對於滑動手勢和加載新的內容,你可以使用:
UISwipeGestureRecognizer *swipeGR;
swipeGR = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeLeft)];
swipeGR.direction = UISwipeGestureRecognizerDirectionLeft;
swipeGR.delegate = self;
swipeGR.numberOfTouchesRequired = 1;
[webview addGestureRecognizer:swipeGR];
+0
動畫不見了! – tyler
1
您將需要使用兩個UIWebViews中的一個是飛射而去,一個是新的內容。爲了讓它飛走,你可以使用諸如ZLSwipeableView之類的衆多庫中的一個。
同時,我會用第一個位置創建一個新的UIWebView。您應該首先使其不可見,並根據第一個視圖的移動使其可見性逐漸顯現。
+0
聽起來不錯。要測試一下。 – tyler
相關問題
- 1. 在Android的Webview上向上滑動和向下滑動動畫
- 2. 活動轉換滑入/滑出動畫
- 3. 使用翻轉和滑動動畫
- 4. ListView滑動/滑動動畫
- 5. 平滑自轉動畫
- 6. 用於CATransform3D動畫的CAKeyframeAnimation上的平滑動畫
- 7. 模擬左/右滑動動畫轉換
- 8. 用手勢滑動動畫
- 9. 用動畫滑動UIView
- 10. 使用jqwicket滑動動畫
- 11. 用於平滑3D旋轉的CSS3動畫功能?
- 12. 滑動UIProgressView(動畫)
- 13. 動畫廣場
- 14. cocos2d中的動畫場景轉換(python)
- 15. Reactjs滑動動畫滑動面板
- 16. Android中的滑動動畫
- 17. 的Android滑蓋動畫滑動
- 18. 帶動畫的滑動滑塊
- 19. 帶旋轉動畫的Wordpress滑塊
- 20. ImageView中的動畫旋轉不平滑
- 21. 滑動畫
- 22. 滑出動畫
- 23. 動畫UIPickerView動畫(向上滑動)
- 24. 用於面板滑動的CSS動畫動畫不能正常工作
- 25. Java,光滑的2D,動畫不動畫
- 26. 在JavaScript/jQuery中平滑滑動動畫和轉換
- 27. 縮放webview動畫
- 28. 適用於iOS的類似Tinder的滑動動畫
- 29. UIView動畫滑入,但不滑出使用塊動畫方法
- 30. 動畫UIKit項目與場景轉換
謝謝,我覺得很整齊。唯一的問題是在「新」視圖中看到「舊」內容很短的時間,然後加載webview的新內容。任何想法? – tyler
編輯:好的,我添加這個以及清理之前刷卡內容: [myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@「about:blank」]]]; – tyler