我用数据源数组做了UIPageViewController,它工作正常。 但是在向前和向后滑动方向转接呼叫时, 我的代码在这里: import UIKit class MainPageViewController: UIPageViewController,UIPageViewControllerDataSource { override func viewDidLoad() { super.viewDidLoad() self.dataSource = self initUPageVC(idx:0,isAnimate:false,direction: UIPageViewControllerNavigationDirection.forward) } func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { //PRIVIOUS let pageContent: MainPageContentViewController = viewController as! MainPageContentViewController var index = pageContent.index if ((index == 0) || (index == NSNotFound)) { return nil } index […]
我创build了基于单一视图应用程序的项目。 我的申请起初有 FoodTableViewContoller – >详细信息:ItemViewController(包含“项目”作为模型)。 我有一个名为itemArray的数组,其中包含所有的项目。 我希望实现pageViewController(或类似的其他function),用户可以向左或向右滑动来浏览itemArray中的项目。 我按照这里的教程进一步实现了我现有的项目,但是当我点击一个表格单元格时,结束了一个无限循环(从不经过D日志并返回到A)。 是否有可能在我的tableView细节中实现pageView? 这是我的代码的一部分: NSLog(@"A"); self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; NSLog(@"B"); self.pageViewController.dataSource = self; ItemViewController *itemViewController = [[ItemViewController alloc] init]; itemViewController.item = self.item; NSLog(@"C %@", itemViewController.item); NSArray *viewControllers = [NSArray arrayWithObject:itemViewController]; NSLog(@"D"); [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; NSLog(@"E"); [self addChildViewController:self.pageViewController]; [self.view addSubview:self.pageViewController.view]; [self.view addSubview:self.scrollView]; NSLog(@"F");
我有一个应用程序与webView和一些JS技巧来呈现文本。 分页是在JS中实现的,我只是将事件从手势传递给JS函数。 但是我想念的是animation。 知道用户只要看到他刷新页面的另一部分。 所以我决定使用UIPageViewController。 我需要一个控制器来显示,它将在转动的animation中改变它的状态。 所以每次都会返回同样的一个 -(UIViewController*) pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController 和 – (UIViewController*) pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 现在我有这个错误。 最后,这个问题 – 在pageViewController中只能使用一个控制器进行适当的animation?
我正在尝试在Swift中开发一个教程。 我有一个页面视图控制器与指标( http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ )工作,但我想添加一个button来转到下一个页面,通过点击它而不是刷屏( TODO NextPage)。 我试过了: let startVC = self.viewControllerAtIndex(self.index + 1) as TutorialContentViewController let viewControllers = NSArray(object: startVC) self.pageViewController.setViewControllers(viewControllers as! [UIViewController], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil) 问题在于圆形页面指示符没有被更新,点击下一页后,所有页面都是第二页。 源代码 import UIKit class TutorialViewController: UIViewController, UIPageViewControllerDataSource { var pageViewController: UIPageViewController! var pageTexts: NSArray! var pageImages: NSArray! var index: Int = 0 @IBOutlet var button: […]
我目前有2个tableView 。 一个是显示单元格的基本tableView ,如果选中,它会进入一个详细的viewController 。 我创build了一个新的viewController来创build一个filtered页面视图。 我用plist填充页面视图。 我设法创build一个filter,但不知道如何从这里开始。 这是我的: – (IBAction)ingredientsAddButton:(UIButton *)sender { int j=0; onemsiz.text=ingredientTextField.text; ingredientText=onemsiz.text; NSLog(ingredientText); NSString *path = [[NSBundle mainBundle] pathForResource:@"recipes" ofType:@"plist"]; NSArray *arrayOfPlist = [[NSArray alloc] initWithContentsOfFile:path]; if (arrayOfPlist==NULL) { }else { for (int i=0; i<4; i++) { // i currently have 4 element is plist. NSString *strCurrentRecipeIngredients = [[arrayOfPlist objectAtIndex:i] […]
我使用PageViewController( https://www.cocoacontrols.com/controls/pageviewcontroller )创build类似于Wired的杂志应用程序。 我已经在CustomPagerViewController上使用这个代码来加载子视图的: – (IBAction)btn_index:(id)sender { NSInteger currentPage = 3; CGPoint offset = CGPointMake(currentPage * self.scrollView.frame.size.width, 0); [self.scrollView setContentOffset:offset animated:YES];} 但是,我需要在indexviewcontroller上的几个button加载正确的意见,当我使用相同的代码, 在“Pag4_5ViewController *”types的对象上找不到属性“scrollView” 我search并尝试了几种方法,但都是徒劳的。 有没有人有任何想法如何解决这个问题?
我正在尝试在UIPageView中打开三个不同的NavigationController 。 这是我现在的布局。 我将三个自定义Segue连接到每个NavigationController并在ContentViewController下,我添加了以下@IBAction方法: @IBAction func navJns(sender: AnyObject?){ let storyboard = UIStoryboard(name: "Nav", bundle: nil) let controller = storyboard.instantiateViewControllerWithIdentifier("Jeans") as! Jeans self.modalPresentationStyle = UIModalPresentationStyle.Custom presentViewController(controller, animated: true, completion: nil) } @IBAction func navBlusas(sender: AnyObject?){ let storyboard = UIStoryboard(name: "Nav", bundle: nil) let controller = storyboard.instantiateViewControllerWithIdentifier("Blusas") as! Blusas self.modalPresentationStyle = UIModalPresentationStyle.Custom presentViewController(controller, animated: true, completion: nil) […]
对于我的项目UIPageViewController可能是一个不错的select,所以,我开始使用由XCode 6.4提供的模板开始新的项目。 我使用了模板:基于页面的应用程序已经基本实现了UIPageViewController。 滚动页面的机会工作正常,但是,我想添加导航栏以及。 在阅读了关于这个主题的文章后,我尝试将DataViewControllerembedded到NavigationController(Editor> Embed)中,然后使用Interface Builder中的Storyboard添加导航栏button。 但是,当我编译应用程序时,我看不到那个button。 此外,当您按下导航栏button应该位于的位置时,看起来后面的导航适用于页面,但button不可见。 后来我发现后面的导航不仅在那个地方,而且在视图的所有左边缘都起作用。 这似乎是一个错误。 1.如何使导航栏后退button可见? 2.如何删除导航反应的所有保证金,而不是只是位置的button导航反应?
我有一个控制器与两个UIViews第一个有200的高度(所有iPhone常数)和第二个UIViews包含一个PageViewController ,应该得到其余的高度,它的确如此。 问题出现在UITableView获取数据时,它调整UIView的大小, UIView现在有更多的高度,因为它应该有(因为tableView调整它),我无法滚动到最后一个对象。 例如:高度屏幕= 600 首先UIView = 200; 第二个UIView = 400; 现在UITableView获取数据并加载并resize 首先UIView = 200; 第二个UIView = 600; 但屏幕只有600。 我尝试了很多select,尝试调整与第二个UIview的原始宽度和高度resize之前调整viewDidLayoutSubviews – (void)viewDidLayoutSubviews{ [super viewDidLayoutSubviews]; float a = self.tabla.frame.size.height; float a2 = self.tabla.superview.frame.size.height; //self.tabla.superview.autoresizesSubviews = false; //self.tabla.frame = CGRectMake(self.tabla.frame.origin.x,self.tabla.frame.origin.y,self.tablaSizeWidth,self.tablaSizeHeight); } 我也尝试去激活TableView的AutoLayout,它的工作! 但是如果我将它取消激活,那么它会全部取消所有的故事板,而我的第二个UIView无法获得其余的高度(认真的苹果?!) 包含页面控制器的UIView的约束 查看所有约束和布局 注意:主视图背景设置为绿色,PageAdapter背景设置为黑色。 我怎么能做到这一点?
我正在寻找解决scheme,我有一个uipageviewcontrollerembedded在另一个uipageviewcontroller所以当我试图刷在内部uipageviewcontroller最后一个viewcontroller然后它改变了父uipageviewcontroller 。 我不太确定如果解决scheme是有这个embedded式uipageviewcontroller og如果有另一个更好的解决scheme。 任何好的想法如何完成这个function?