【iOS7】UIWebViewの新機能:UIWebPagination
UIWebViewにもいろいろと見慣れないメソッドがiOS7で追加されていたので、使ってみました。
@property (nonatomic) UIWebPaginationMode paginationMode;
@property (nonatomic) UIWebPaginationBreakingMode paginationBreakingMode;
@property (nonatomic) CGFloat pageLength;
@property (nonatomic) CGFloat gapBetweenPages;
@property (nonatomic, readonly) NSUInteger pageCount;
名前から察するに、全体的に Webのページネーション に関する機能追加のようです。
UIWebPaginationMode には次のような値が定義されています。
typedef NS_ENUM(NSInteger, UIWebPaginationMode) {
UIWebPaginationModeUnpaginated,
UIWebPaginationModeLeftToRight,
UIWebPaginationModeTopToBottom,
UIWebPaginationModeBottomToTop,
UIWebPaginationModeRightToLeft
};
ドキュメントによると UIWebView のプロパティ paginationMode
にはデフォルトで UIWebPaginationModeUnpaginate
が入っているとのこと。
paginationMode
を変えると何が起きるのか、次のように簡単なアプリをつくって試してみました。
画面下部の UISegmentedControl で paginationMode
を切り替えられます。
これで試してみて、「なるほど」と思った部分だけ紹介します。
UIWebPaginationModeLeftToRight
paginationMode
に UIWebPaginationModeLeftToRight
を指定すると、
一見普通だったのが、水平方向にスクロールさせてみると、
なるほど、確かに Left to Right にページネーションされています。
ちなみに、 ロード完了したあとでも paginationMode
を変えると表示が更新されます (コンテンツ自体は変わりないので、当たり前ですが)。
pageCount
paginationMode
を指定して描画すると pageCount
が取れるようになりました。UIPageControl の numberOfPages
に渡したりするとよさそうです。
ちなみに上記サンプルで表示しているのは自分のブログですが、26ページでした。
ページングを有効にする
ページネーションしてくれるならページングを有効にしない手はない、ということで
self.webView.scrollView.pagingEnabled = YES;
するといい感じです。
サンプル
『iOS7 Sampler』にサンプルコードを追加してあります。
所感
Web漫画とかみるアプリにはいいかもしれません。
Author And Source
この問題について(【iOS7】UIWebViewの新機能:UIWebPagination), 我々は、より多くの情報をここで見つけました https://qiita.com/shu223/items/3f2141f8708dacb02d50著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .