iphone通过左右滑动手指来切换视图,类似于股票应用程序
Posted
技术标签:
【中文标题】iphone通过左右滑动手指来切换视图,类似于股票应用程序【英文标题】:iphone switch views by swiping fingers to left and right, similar as the stock app 【发布时间】:2010-10-02 00:47:03 【问题描述】:我对如何实现 iphone stock 应用程序的下部感兴趣。应用程序的下部,您可以通过向左/向右滑动手指来切换视图,视图下方的“...”指示用户正在查看的视图。
在我看来它是一个 tabview 组件。我正在尝试寻找 UI 组件以及谷歌它,但我还没有找到类似的东西。我发现的大多数示例都使用滚动视图。当您用手指向左/向右滑动时,会出现滚动条,更重要的是,视图下方没有“...”来指示用户正在查看哪个视图。
谁能指出一个类似的例子?
谢谢, 托马斯
【问题讨论】:
【参考方案1】:这是一个 UIScrollView,pagingEnabled
设置为 YES
占据了大部分屏幕,下面有一个 UIPageView。有关详细信息,请参阅 Apple 的 PageControl sample code。
您可以通过将滚动视图的 showsHorizontalScrollIndicator
和showsVerticalScrollIndicator
属性设置为NO
来关闭滚动指示器。
可能还值得查看PhotoScroller sample code 以获取有关如何使用 UIScrollView 进行分页的深入示例。还有一个很棒的视频,名为“Designing Apps with Scroll Views”,在 WWDC 2010 视频中引导您使用 UIScrollView 对视图进行分页。我强烈推荐观看它和其他 WWDC 视频。您可以通过登录 ios 开发者中心并滚动到底部来获取它们。
此外,就像他们在视频中告诉您的那样,您不需要使用触摸事件或覆盖 touchesBegan:withEvent:
或类似函数来实现这一点。如果你这样做,你必须做很多工作才能将你不关心的事件传递给你正在显示的视图和类似的东西。将 pagingEnabled
设置为 YES
的 UIScrollView 会为您完成所有艰苦的工作。
如果您出于某种原因不想使用滚动视图,则可以使用 UIGestureRecognizer。但实际上,只需使用滚动视图即可。
【讨论】:
【参考方案2】:这称为触摸事件。更何况在 iPhone 上滑动触摸。
这里有两个例子。
这里有一个代码 sn-p: 您首先需要告诉应用程序 touchesBegan。
您可以找到有关此 API 的一些详细信息。然后每次用户触摸 iphone 屏幕时都会自动调用委托方法。
- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
UITouch *touch = [touches anyObject];
if (touch.info & UITouchSwipedRight)
[self changeViewRight];
else if (touch.info & UITouchSwipeLeft)
[self changeViewLeft];
return;
检查这个例子:
http://devblog.wm-innovations.com/tag/touchesbegan/
这是一个非常好的例子。
希望这会有所帮助。 让我知道它是否有一点作用。谢谢
PK
【讨论】:
【参考方案3】:看看下面的链接,它可能是通过滑动浏览视图的好方法。
Views Navigation Using Swipe Gesture
【讨论】:
以上是关于iphone通过左右滑动手指来切换视图,类似于股票应用程序的主要内容,如果未能解决你的问题,请参考以下文章
iOS ScrollView嵌套TableView联动滑动的实现方案