모든 화면 크기의 여러보기간에 수직 시차 스크롤 효과를 추가하려고합니다.iOS에서 UIView의 수직 시차 스크롤링
버튼을 통과 할 때 너무 복잡하지는 않지만 iOS의 경우 Year Walk Companion App과 유사하게 UIPanGesture에서 제어해야합니다. 여기에 표시된 현재 방정식이 올바르게 작동하지 않습니다.
현재이 버전은 처음 두 개의보기 만 이동합니다. 작업을 완료하면 나머지는 쉬워야하기 때문입니다. 특정 견해가 특정 방향으로 움직이는 것을 막을 수있는 모든 수표를 포함시키지 않았기 때문에 문제도 관련이 없습니다. http://flycarpodacus.zxq.net/iPhone%20Parallax/event.html
희망 누군가가 도움이 될 수 있습니다 여기에
은 버튼 작업 그것의 웹 버전입니다.ViewController.h
@interface ViewController : UIViewController {
UIPanGestureRecognizer *panGesture;
int activeView;
int nextView;
float offset;
float speed;
}
@property (weak, nonatomic) IBOutlet UIView *view1;
@property (weak, nonatomic) IBOutlet UIView *view2;
@property (weak, nonatomic) IBOutlet UIView *view3;
@property (weak, nonatomic) IBOutlet UIView *view4;
ViewController.m
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
@synthesize view1, view2, view3, view4;
- (void)viewDidLoad
{
[super viewDidLoad];
activeView = 1;
offset = 220;
speed = 1;
panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)];
[self.view addGestureRecognizer:panGesture];
if (self.view.frame.size.height != 568) {
CGRect frame = self.view.frame;
frame.size.height = self.view.frame.size.height;
view1.frame = frame;
view2.frame = frame;
view3.frame = frame;
view4.frame = frame;
}
view4.center = CGPointMake(view4.center.x, self.view.frame.size.height/2 + offset);
view3.center = CGPointMake(view3.center.x, self.view.frame.size.height/2 + offset);
view2.center = CGPointMake(view2.center.x, self.view.frame.size.height/2 + offset);
view1.center = CGPointMake(view1.center.x, self.view.frame.size.height/2);
}
- (void)handlePanGesture:(UIPanGestureRecognizer *)panGestureRecognizer {
CGPoint panGestureTranslation = [panGestureRecognizer translationInView:self.view];
switch (activeView) {
case 1:
view1.center = CGPointMake(view1.center.x, panGestureTranslation.y + self.view.frame.size.height/2);
view2.center = CGPointMake(view2.center.x, view2.center.y - 2.5f);
break;
default:
break;
}
}
답변 시차 효과에 우리의 기사를 확인 제안 – Rumbles