搜索了很多这个,但还没找到合适的解决方案.
是否可以禁用a的反弹效果UIPageViewController
并仍然使用UIPageViewControllerTransitionStyleScroll
?
我的UIPageViewController在iOS 5中运行良好.但是当iOS 6出现时,我想使用新的滚动转换样式(UIPageViewControllerTransitionStyleScroll)而不是页面卷曲样式.这导致我的UIPageViewController破坏.
在我打电话之后,它工作得很好setViewControllers:direction:animated:completion:
.之后,下次用户手动滚动一页时,我们会得到错误的页面.这有什么不对?
我正在尝试从故事板中特定配置UIPageViewController:
TutorialPageViewController.h
#import <UIKit/UIKit.h>
@interface TutorialPageViewController : UIPageViewController <UIPageViewControllerDelegate, UIPageViewControllerDataSource>
@end
Run Code Online (Sandbox Code Playgroud)
TutorialPageViewController.m
#import "TutorialPageViewController.h"
@interface TutorialPageViewController ()
@property (assign, nonatomic) NSInteger index;
@end
@implementation TutorialPageViewController
{
NSArray *myViewControllers;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.delegate = self;
self.dataSource = self;
[self didMoveToParentViewController:self];
UIStoryboard *tutorialStoryboard = [UIStoryboard storyboardWithName:@"TutorialStoryboard" bundle:[NSBundle mainBundle]];
UIViewController …
Run Code Online (Sandbox Code Playgroud) 现在是黑色背景的白点.如果我想要它是白色背景的黑点呢?
- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController NS_AVAILABLE_IOS(6_0)
{
return _imageArrays.count;
}// The number of items reflected in the page indicator.
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController NS_AVAILABLE_IOS(6_0)
{
return self.intCurrentIndex;
}// The selected item reflected in the page indicator.
Run Code Online (Sandbox Code Playgroud) 我正在制作教程,我正在尝试模仿Path教程的样式,如下所示:
http://www.appcoda.com/wp-content/uploads/2013/06/UIPageViewController-Tutorial-Screen.jpg
我的问题是,如果设置委托方法如此:
- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController {
// The number of items reflected in the page indicator.
return 5;
}
Run Code Online (Sandbox Code Playgroud)
然后我在点下面得到这个愚蠢的黑条:
http://i.stack.imgur.com/pUEdh.png
有没有办法让这个酒吧半透明的方式类似于将UINavigationBar设置为半透明?
我在我的应用程序中使用UIPageViewController,它工作正常.但是,它自动添加的页面控件有一个黑色背景,隐藏了当前视图控制器的底部材质(见下图).是否可以调用UIPageViewController的页面控件并更改它的颜色?我希望页面控件显示在视图控制器上(例如,路径应用程序的演练),比如设置颜色而不是黑色来清除.
虽然在UIPageViewController中切换选项卡太快,但App会崩溃
[UIPageViewController queuingScrollView:didEndManualScroll:toRevealView:direction:animated:didFinish:didComplete:]
Run Code Online (Sandbox Code Playgroud)
有错误断言失败和由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:'没有视图控制器管理可见视图.
错误记录如下
*** Assertion failure in -[UIPageViewController queuingScrollView:didEndManualScroll:toRevealView:direction:animated:didFinish:didComplete:], /SourceCache/UIKit/UIKit-3318.0.1/UIPageViewController.m:1875
2014-09-29 11:34:00.770 Wowcher[193:9460] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'No view controller managing visible view <UIView: 0x1783fa80; frame = (0 0; 320 416); autoresize = W+RM+H+BM; layer = <CALayer: 0x17898540>>'
*** First throw call stack:
(0x219fbf87 0x2f15ac77 0x219fbe5d 0x226cb2c9 0x253f9fff 0x2546f8d3 0x2546f6b7 0x2546c2b9 0x254700db 0x25470f97 0x2546d037 0x24ea925f 0x2500a589 0x24ff7eef 0x24ea677d 0x252b8c81 0x24e70105 0x24e6e07f 0x24ea4b6d 0x24ea443d 0x24e7acc5 0x250ee513 0x24e79707 0x219c2807 0x219c1c1b 0x219c0299 0x2190ddb1 0x2190dbc3 0x28c99051 0x24ed9a31 …
Run Code Online (Sandbox Code Playgroud) 我有一个UIPageViewController
,我正在使用的实现提供网页数据UIPageControllerDelegate
和UIPageControllerDataSource
.
它一切正常,但我希望能够向页面数据添加项目并重新排序页面数据.
如果用户已经到达最后一个页面,然后我添加了一个项目,则他们无法访问下一页,因为viewControllerAfterViewController:
已经调用过.如果他们向后滚动一个然后向前滚动两个,他们可以很好地进入新页面,因此数据设置正确.我怎么能告诉它UIPageViewController
刷新下一步的商店?
同样,我想重新排序支持页面视图的集合.但如果我这样做,我会遇到同样的问题 - 页面视图会认为下一页仍然是上次加载当前页面时的情况.
我想我在寻找类似的东西reloadData:
上UITableView
.
当我在我的应用程序中设置多个视图控制器时,我的应用程序不断崩溃,如下所示.
[self setViewControllers:_images direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];
Run Code Online (Sandbox Code Playgroud)
我的图像是一组视图控制器.
该应用程序崩溃说以下错误.我不知道从哪里开始.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (9) doesn't match the number required (1) for the requested transition
Run Code Online (Sandbox Code Playgroud) 我一直在研究一个简单的测试应用程序来学习UIPageViewController的细节.我有它工作,但我不相信我的执行是最好的方式.我希望你们中的一些人能指出我正确的方向.
为了获得基本的理解,我以本教程为出发点. http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/
本教程创建了一个应用程序,该应用程序viewController
对每个页面使用一个应用程序UIPageViewController
.但是我需要利用UIPageViewController来滚动具有完全不同布局的页面.因此,为了使教程更进一步,我创建了一个主 - 详细信息应用程序,它在详细视图中使用UIPageViewController来显示三个不同的视图控制器.我坚持只为这个测试应用程序显示图像和标签,但我目前正在构建的应用程序有三个viewControllers,它们将包含tableview,imageView和textViews,或者一些textFields.
这是我的测试应用程序的故事板.
我用它DetailViewController
作为数据源PageViewController
.在viewDidLoad
所述的DVC我建立将在三个内容视图控制器中使用的标签和图像firstViewController
,secondViewController
和thirdViewController
以这种方式.
if ([[self.detailItem description] isEqualToString:@"F14's"]) {
//Here the page titles and images arrays are created
_pageTitles = @[@"Grim Reapers", @"Breakin the Barrier!", @"Top Gun"];
_pageImages = @[@"F14_Grim.jpg", @"F14boom.jpg", @"F14_topgun.jpg"];
//Here I call a method to instantiate the viewControllers
FirstController *selectedController = [self viewControllerAtIndex:0];
SecondController *nextController = [self viewControllerAtIndex:1];
ThirdController *lastController = [self viewControllerAtIndex:2];
[_vc addObject:selectedController];
[_vc addObject:nextController]; …
Run Code Online (Sandbox Code Playgroud)