网页浏览与页面卷曲动画 ios

Posted

技术标签:

【中文标题】网页浏览与页面卷曲动画 ios【英文标题】:webpage surfing with page curl animation ios 【发布时间】:2013-02-01 06:23:44 【问题描述】:

我有一个包含一些数据的 html 文件,因为我在 web 视图中显示它,所以用户必须向下滚动才能查看信息,我想知道我是否可以提供页面卷曲动画来查看内容html,以便用户更容易通过在页面之间滑动来阅读信息,

我应该使用 pageviewcontroller 吗?还是有任何其他库可以让我对自定义(webview)产生页面卷曲效果?我该如何进行?是否可以在一个页面上显示一些 html 信息,然后用户转到下一页?我如何实现这一点,它是一个 html 文件

【问题讨论】:

【参考方案1】:

如果你想要那种分页,那么也许你可以试试叶子库https://github.com/brow/leaves 你可以用它来分页浏览各种 UIWebView 正如您在叶子示例中看到的,您必须在 renderPageAtIndex 中呈现页面。 然后你可以使用类似的东西:

- (void) renderPageAtIndex:(NSUInteger)index inContext:(CGContextRef)ctx 

CGSize 屏幕尺寸 = CGSizeMake(320,480);

UIGraphicsBeginImageContext(screensize); CGContextRef 上下文 = UIGraphicsGetCurrentContext(); CGFloat scalingFactor = screensize.width/webView.frame.size.width; CGContextScaleCTM(context, scalingFactor,scalingFactor);

[webView.layer renderInContext: ctx];

你必须先加载 webview。

【讨论】:

正如您在叶子示例中看到的,您必须在 renderPageAtIndex 方法中呈现页面。我在上面的 awnser 中包含了一个示例 我试过你问我的,多一点指导,我会非常感激,这是我试过的pastebin.com/YDG0SFSM请告诉我它是否正确,谢谢 有什么问题?你得到空白页吗?那可能是因为网页还没有准备好。您正在 loadRequest 之后立即执行 renderInContext。网页不会准备好。我认为您需要在 renderPageAtIndex 之前渲染页面。如果是这样,那么您可能需要多个 webview。 是的,我得到了空白页,我不确定我能理解您要告诉我的内容,我知道网页还没有准备好,我不明白您提到的多个网页视图,你能帮我吗?谢谢.. 我的意思是你需要预加载多个 webviews zo 在 renderPageAtIndex 上 webview 已经加载。 webviews 也必须在屏幕上(但可以隐藏在其他控件后面),否则 webview 将不会被渲染。我认为最灵活的方法是预加载上一页和下一页(并在启动时加载当前页面)

以上是关于网页浏览与页面卷曲动画 ios的主要内容,如果未能解决你的问题,请参考以下文章

UIView 动画过渡卷曲与透明背景

没有uiview动画的iphone页面卷曲

UIView 页面卷曲动画不适用于块

半页卷曲动画背景视图颜色?

当手指在屏幕上而不抬起时,javascript动画在ios safari webkit浏览器中停止

实现 iOS Maps 风格的页面卷曲手势交互