对于iOs应用程序我想在Windows Phone 7中重新创建集线器的视差效果。 我可以使用以下代码来访问它:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGRect lc_frame = hubBackgroundImageView.frame;
lc_frame.origin.x=-hubItemsScrollView.contentOffset.x/2;
hubBackgroundImageView.frame = lc_frame;
}
但效果并不完美。在WP7中,在集线器的最后一页上,背景图像的右侧非常适合视图的右侧。
这里,如果我的图像小于我的scrollview width / 2,我可以看到我的viewController backgroundColor ...
我想获取图像的新x位置,具体取决于scrollview contentSize.width,image.frame.size.width和新的scrollview.contentOffset.x。 目标是在scrollview的最后一页上我的背景图像位置是
backgroundImage.frame.origin.x = -backgroundImage.frame.size.width+self.view.frame.size.width;
请帮帮我!谢谢!
答案 0 :(得分:2)
知道了!这是我的功能:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
float paralaxPlacementRatio=scrollView.contentOffset.x/(scrollView.contentSize.width-scrollView.frame.size.width);
CGRect lc_frame = backgroundImageView.frame;
lc_frame.origin.x=-backgroundImageView.frame.size.width*paralaxPlacementRatio+(self.view.frame.size.width*paralaxPlacementRatio);
backgroundImageView.frame = lc_frame;
}
我的观点结构是:
结果是完美的,如果有人想要解释,请问我!