私のアプリの感覚のような本が欲しい。このために、私はいくつかのページをスクロールするUIPageViewControllerを持っています。すべてうまく動作します。現在、UIPageViewControllerのTransitionタイプはPage curlですが、(ハードカバーページのように)フリップのようなものを実装したいと思います。UIPageViewController iOSにフリップアニメーションを適用するXamarin
私は次のように実装している: - 私は任意の外部ライブラリを使用せずに、代わりにカールのフリップに遷移アニメーションを変更することができます方法はあり
public new UIViewController GetNextViewController(UIPageViewController pageViewController, UIViewController referenceViewController)
{
var page = referenceViewController as IpadNewController;
var index = page.pageIndex;
index ++;
if(index == numberOfPages)
{
return null;
}
else{
return ViewControllerAtIndex (index);
}
}
public new UIViewController GetPreviousViewController(UIPageViewController pageViewController, UIViewController referenceViewController)
{
var page = referenceViewController as IpadNewController;
var index = page.pageIndex;
if(index == 0)
{
return null;
}else{
index --;
return ViewControllerAtIndex (index);
}
}
EDIT
private void LoadData(List<Models.NewsModel> viewPages)
{
if (viewPages != null)
{
if (viewPages.Count % 5 == 0)
{
numberOfPages = viewPages.Count/5;
}
else
{
numberOfPages = viewPages.Count/5 + 1;
}
}
this.DataSource = this;
var startingViewController = this.ViewControllerAtIndex(0);
var viewControllers = new UIViewController[] { startingViewController };
if (startingViewController != null)
{
this.SetViewControllers(viewControllers, UIPageViewControllerNavigationDirection.Forward, false, null);
}
this.View.Frame = View.Bounds;
}
private IpadNewController ViewControllerAtIndex(int index)
{
if (numberOfPages == 0 || index >numberOfPages)
{
return null;
}
else
{
newIpadController = (IpadNewController)this.Storyboard.InstantiateViewController("iPadNew_VC");
newIpadController.pageIndex = index;
}
return newIpadController;
}
を?代わりにUIPageViewController
を使用してのUIViewController
ためPageCurl
とScroll
遷移を持っているあなただけ、あなた自身のビューコンテナを実装し、UIViewController
のあなたのシリーズのアニメーションを定義し、それを適用するためにTransitioningDelegate
を使用することができUIPageViewController
レベルで
ご返信ありがとうございます。単一のUIVIewControllerを使用してIamを呼び出します。ページが反転したときにそのビューを置き換えるだけです。私はそれをどのように実装できますか? –
@helloworldあなたの質問はあなたが 'UIPageViewController'を使用していると言っているので、私はあなたのコメントを理解していません。 UIViewControllerが1つしかなく、 'View'を削除して追加している場合は、どのように' PageCurl'を取得していますか? – SushiHangover
@SushilHangoverわかりやすくするためにコードを追加しました。 –