我有这个观点,他的大小是1280 X 345,我在屏幕上左右移动它。 现在,我的主要问题是我如何用手指移动(不是swipeLeft / swipeRight)我希望它像iPhone IOS的主屏幕一样用我的手指移动。
现在,我正在使用此代码:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:infoView];
//[self.view setTransform:CGAffineTransformTranslate(CGAffineTransformIdentity, (location.x + self.view.frame.origin.x - dx), 0.0)];
NSLog(@"touch: %f",location.x);
infoView.frame = CGRectMake(infoView.frame.origin.x + location.x, 0, 1280, 345);
}
应该是当前的方式,但我不能说出来。 我也尝试在谷歌和这里找到答案,但是,如你所知..我没有找到有用的东西。
我也做了这个,所以你可以更好地理解它。
答案 0 :(得分:8)
不要自己编写代码来执行此操作。使用UIScrollView
。这就是它的设计目标。
答案 1 :(得分:1)
如果您想要与iPhone / iPad主屏幕具有相同的效果,则应使用UIScrollView并启用分页。
答案 2 :(得分:0)
如果你真的想因为某些原因自己处理它,避免使用UIScrollView,那么就有UIGestureRecognizers,特别是UIPanGestureRecognizer,它可以在一个地方利用大部分工作处理多个触摸事件。
答案 3 :(得分:-1)
我使用了UIPagecontrol和UIScrollView来实现它。非常容易和聪明的对象!