标签: uipageviewcontroller

如何在iOS 5中向UIPageViewController添加页面数组?

有谁知道我为了将我自己的视图控制器手动添加到UIPageViewController方法而缺少什么?

我目前有这个,我不知道如何继续:

NSDictionary *pageViewOptions = [NSDictionary dictionaryWithObjectsAndKeys:UIPageViewControllerOptionSpineLocationKey, [NSNumber numberWithInteger:UIPageViewControllerSpineLocationMin], nil];

self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:pageViewOptions];


BookViewController *pageOne = [self.storyboard instantiateViewControllerWithIdentifier:@"BookViewController"];

AnotherPage *pageTwo = [self.storyboard instantiateViewControllerWithIdentifier:@"AnotherPage"];

PageThree *pageThree = [self.storyboard instantiateViewControllerWithIdentifier:@"PageThree"];


self.pageViewController.delegate = self;
self.pageViewController.dataSource = self;

[self.pageViewController setViewControllers:[NSArray arrayWithObjects:pageOne, pageTwo, pageThree, nil] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

[self addChildViewController:self.pageViewController];

[self.view addSubview:self.pageViewController.view];

self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;

[self.pageViewController didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.我只看到RootViewController.

感谢所有喜欢提前帮助像我这样渴望新手的人.... :)

nsarray ios5 uistoryboard uipageviewcontroller

3
推荐指数
1
解决办法
9323
查看次数

MonoTouch:如何在UIPageViewController中添加双指手势识别器?

具有PageCurl转换的UIPageViewController非常适合模拟页面,但默认的GestureRecognizer(UIPanGestureRecognizer)仅响应一个手指事件.我想在其他事件之上添加两个手指事件.

如何将另一个PanGestureRecognizer添加到当前的UIPageViewController实例?这个新的PanGestureRecognizer应该等待两个手指平移触摸,而不会禁用原始的UIPanGestureRecognizer.

如果用户用两个手指而不是一个手指滚动页面,我需要的是一种提升额外自定义事件的方法,但它仍然应该像调用一个手指事件一样滚动页面.

我怎么能在MonoTouch中做到这一点?

提前致谢.

gestures xamarin.ios ios uipangesturerecognizer uipageviewcontroller

3
推荐指数
1
解决办法
2686
查看次数

加速UIPageViewController

我有一个包含多个页面的UIPageViewController.每个页面都是相同的视图控制器,但页面编号保持跟踪,并显示PDF的正确页面.问题是每个PDF页面都需要在卷曲效果工作之前加载和绘制(你在屏幕上滑动手指,直到加载才会发生任何事情).有关如何加快或预加载下一页的任何想法?谢谢你的帮助.

iphone objective-c ipad ios uipageviewcontroller

3
推荐指数
1
解决办法
3739
查看次数

indexofobject返回零

我正在尝试使用从故事板构建的场景来构建应用程序的演练.

所以我填充了我的viewControllers数组,称为pages:

@interface PVCPagesViewController () {
    NSMutableArray *pages;
}

@property (retain, nonatomic) NSMutableArray *pages;
@property (strong, nonatomic) UIPageViewController *pageController;


@end
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad()中:

self.pages = [[NSMutableArray alloc] init];

UIViewController *page1 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"page1"];

UIViewController *page2 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"page2"];

UIViewController *page3 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"page3"];

UIViewController *page4 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"page4"];

self.pages = [[NSMutableArray alloc] initWithObjects:page1, page2, page3, page4, nil];
Run Code Online (Sandbox Code Playgroud)

但是当我要在viewControllerAfterViewController()中从数组加载另一个视图控制器时:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {

    NSInteger index = [self.pages indexOfObject:viewController];

    index++;

    return [self.pages objectAtIndex:index]; …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray uipageviewcontroller

3
推荐指数
1
解决办法
1048
查看次数

选择垂直时,UIPageControl不显示

我可以得到UIPageControl当工作PageViewController导航样式设置为Horizontal,但是当我选择VerticalUIPageControl不会出现水平或垂直.

我在AppDelegate中设置了UIPageControl的外观:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    UIPageControl *pageControl = [UIPageControl appearance];
    pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
    pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
    pageControl.backgroundColor = [UIColor whiteColor];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让它出现在垂直位置?Horizontal选择导航但不选择选项时,上述代码有效Vertical.

uipagecontrol uipageviewcontroller appdelegate ios7

3
推荐指数
1
解决办法
1154
查看次数

在iOS应用程序中演示演练

我正在推出我的应用程序的第2版,需要对新功能进行简短的演练.我经历了一个教程并在另一个应用程序中创建了我的演练,其中一个UIViewController是根视图,一个UIPageViewController包含一个UIView,我在其中显示我的屏幕.它按我想要的方式工作.

现在我想在我的应用程序中集成它.我可以轻松地从示例应用程序导入我的编码.

我相信应用程序委托我将看到用户是否曾经历过演练,如果没有,请切换到启动演练的UIViewController,并写入用户已经看过演练的默认值(因此他们不会需要再次看到它.我在演练中有一个按钮进入主屏幕.

我对"applicationdidFinishLaunchingWithOptions"方法的部分代码如下:

                - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        UIPageControl *pageControl = [UIPageControl appearance];
        pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
        pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
        pageControl.backgroundColor = [UIColor whiteColor];

        UIStoryboard *storyBoard;
        storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard.storyboard" bundle:nil];
        UIViewController *walkthrough = [storyBoard instantiateViewControllerWithIdentifier:@"NextViewController"];
        //[self presentViewController:walkthrough animated:YES completion:nil];
        [self.window setRootViewController:walkthrough];

        return YES;
    }
Run Code Online (Sandbox Code Playgroud)

这是完成的代码.非常感谢您的帮助:

      // User Defaults
      UserDefaults *thisUserDefaults = [[UserDefaults alloc] init];
      [thisUserDefaults registerDefaults];

      if (![[[NSUserDefaults standardUserDefaults]
              valueForKey:kAppHasRunBeforeKey] boolValue]) {

        UIPageControl *pageControl = [UIPageControl appearance];
        pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
        pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
        pageControl.backgroundColor …
Run Code Online (Sandbox Code Playgroud)

ios uistoryboard uipageviewcontroller

3
推荐指数
1
解决办法
2520
查看次数

我该如何构建这个视图呢?

我很难找到构建这种设计的最佳方法.

顶视图具有最小高度,并在达到此高度时变粘.底部视图托管一个具有三个视图的分页控制器.这些视图中的每一个都承载具有垂直滚动的集合视图或表视图.

我真的不知道如何处理这个问题.整个视图是否可滚动,我应该阻止在第二个视图上滚动,直到顶视图达到它的粘性高度?或者这些视图中的每一个都是单独的uitableviews,而寻呼控制器只是一个单元格?我是否应该使用分页控制器,还是应该使用启用分页的scrollview?(后者有点粗糙的互动方式)

谢谢!

在此输入图像描述

uitableview ios uipageviewcontroller

3
推荐指数
1
解决办法
522
查看次数

如何为图像swift ios制作图像页面查看器

我想在资产文件夹中显示几个图像到我的应用程序中.所以我想做一个页面视图.

首先,图像将在集合视图内,然后单击,图像将全屏显示.然后,用户可以通过向右和向左滑动来在图像之间滑动,如下图所示:

所需的lib或样本的描述

我找到了这个教程:

PhotosGalleryApp

更新:

我在故事板中有这个:

在此输入图像描述

现在,GaleryViewController我在细胞中显示图像

当用户点击它时,我将全屏打开图像PhotoViewController.

PhotoViewController.swift:

import UIKit

class PhotoViewController: UIViewController{


@IBOutlet weak var imageView: UIImageView!

var index: Int = 0;
var pageViewController : UIPageViewController?

@IBAction func btnCancelClicked(sender: AnyObject) {
    self.navigationController?.popToRootViewControllerAnimated(true);
}



override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    initUI();
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func viewWillAppear(animated: Bool) {
    self.navigationController?.hidesBarsOnTap …
Run Code Online (Sandbox Code Playgroud)

uiimageview uiimage ios uipageviewcontroller swift

3
推荐指数
1
解决办法
1万
查看次数

使用Aspect Fill图像模式的奇怪UIPageViewController滑动行为

我刚创建了一个UIPageViewController包含单个ImageView和a的页面内容视图控制器Button.它几乎完美无缺,但是当我尝试仅在垂直视图中滑动视图时,它有一个主要问题,为我设置了Aspect Fill模式ImageView(这基本上是为此设置的).

您可以在此处看到此行为:https://youtu.be/2yl6UXbUGQg

我正在使用autolayout,Button约束与ImageView(全尺寸)对齐,ImageView约束设置为Superview ...

码:

1)UIPageViewController:

class ViewController: UIPageViewController, UIPageViewControllerDataSource {

    var arrPageTitle: NSArray = NSArray()
    var arrPagePhoto: NSArray = NSArray()

    override func viewDidLoad() {
        super.viewDidLoad()

        arrPageTitle = ["page 1", "page 2", "page 3"]
        arrPagePhoto = ["slider-1.jpg", "slider-2.jpg", "slider-3.jpeg"]

        self.dataSource = self
        self.setViewControllers([getViewControllerAtIndex(0)] as [UIViewController],
                                direction: .Forward,
                                animated: false,
                                completion: nil)
    }

    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
        let pageContent: PageContentViewController = viewController …
Run Code Online (Sandbox Code Playgroud)

uiimageview ios uipageviewcontroller autolayout swift

3
推荐指数
1
解决办法
430
查看次数

Swift:从其他Viewcontroller调用PageViewController中的函数

我有一个PageViewController,它加载了两个“子” ViewController,以使用户可以“滑动”它们。我不希望有这种滑动手势,但是我想在ViewController中使用一个函数,该函数允许我在PageViewController中使用setViewControllers。

我尝试使用协议,但即使这样也没有解决。

我真的很感激我能做到的任何帮助或建议。谢谢!

xcode delegates ios uipageviewcontroller swift

3
推荐指数
1
解决办法
2147
查看次数