- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些关于 UIPageViewControllers
的策略问题。它似乎完全符合我的要求,但有几件事我不确定。我想也许有人可以分享一两个 gem 。 :)
所以这里是:我想使用 PageViewCtl
以纵向或横向模式显示内容,但是,无论是什么,它们都必须在同一个 Controller 中(即具有相同的 View )设备的方向。原因是内容必须以这样的方式(横向)缩放,即内容的两个“页面”同时缩放,而不是分开缩放。在这一点上,我真的看不出如何在 PageViewCtl
中处理它,因为据我所知,您不能在 2 个 View Controller 之间共享 View 。那么有人对这个问题有任何见解吗?非常感谢!
最佳答案
我从 Erica Sadun (https://github.com/erica/iOS-5-Cookbook) 那里偷了这个:
// Update interface to the given page
- (void) fetchControllersForPage: (uint) requestedPage orientation: (UIInterfaceOrientation) orientation
{
BOOL sideBySide = [self useSideBySide:orientation];
int numberOfPagesNeeded = sideBySide ? 2 : 1;
int currentCount = self.viewControllers.count;
uint leftPage = requestedPage;
if (sideBySide && (leftPage % 2)) leftPage--;
// Only check against current page when count is appropriate
if (currentCount && (currentCount == numberOfPagesNeeded))
{
if (pageNumber == requestedPage) return;
if (pageNumber == leftPage) return;
}
// Decide the prevailing direction by checking the new page against the old
UIPageViewControllerNavigationDirection direction = (requestedPage > pageNumber) ? UIPageViewControllerNavigationDirectionForward : UIPageViewControllerNavigationDirectionReverse;
[self updatePageTo:requestedPage];
// Update the controllers
NSMutableArray *pageControllers = [NSMutableArray array];
SAFE_ADD(pageControllers, [self controllerAtPage:leftPage]);
if (sideBySide)
SAFE_ADD(pageControllers, [self controllerAtPage:leftPage + 1]);
[self setViewControllers:pageControllers direction: direction animated:YES completion:nil];
}
// Entry point for external move request
- (void) moveToPage: (uint) requestedPage
{
[self fetchControllersForPage:requestedPage orientation:(UIInterfaceOrientation)[UIDevice currentDevice].orientation];
}
#pragma mark Delegate
- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation
{
NSUInteger indexOfCurrentViewController = 0;
if (self.viewControllers.count)
indexOfCurrentViewController = ((UIViewController *)[self.viewControllers objectAtIndex:0]).view.tag;
[self fetchControllersForPage:indexOfCurrentViewController orientation:orientation];
BOOL sideBySide = [self useSideBySide:orientation];
self.doubleSided = sideBySide;
UIPageViewControllerSpineLocation spineLocation = sideBySide ? UIPageViewControllerSpineLocationMid : UIPageViewControllerSpineLocationMin;
return spineLocation;
}
给她一些爱。并注意 super 聪明的“if (sideBySide && (leftPage % 2)) leftPage--;”,它确保左页始终是奇数页。
-A
关于ios - PageViewController 和 Orientation 改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8194119/
我知道在 OOP 中你希望每个对象(来自一个类)都是一个“东西”,例如。用户、验证者等 我了解 MVC 的基础知识,了解它们的不同部分如何相互交互。 但是,我想知道MVC中的模型是否应该按照传统的OO
我想知道 Android 手机是否真的有方向传感器。我怀疑并不是所有的安卓手机屏幕都会随着方向的改变而改变(比如带有 qwerty 键盘的手机) 我浏览了文档并找到了一个 bool 方法“canDet
我已经创建了一个设备方向监听器来捕捉设备旋转的时间,就像这样 [[NSNotificationCenter defaultCenter] addObserver:self
我已通过 XCode 将方向锁定为横向左和横向右,但使用 UIDevice.current.orientation 给出的方向就好像未锁定一样。就像当我物理上(在现实生活中)处于纵向,但我的 View
我无法保持当前的 View 方向。在下面的设置中,我已经能够将第一个 View Controller 锁定为纵向,将第二个 View Controller 锁定为横向或纵向。但是,当我将第二个导航 C
This question already has answers here: is it wrong to treat panic / recover as throw / catch (2个答案)
使用 iOS 8.3 我有一个横向模式的 View ,我正在尝试打开一个仅纵向 View Controller 。每次我尝试打开它时,应用程序都会崩溃。 我读过这个official apple ans
我正在编写一个将在手机和 Honeycomb 平板电脑上运行的 Android 应用程序,并且从一开始就运行基于操作系统的不同 Activity 。在非 honeycomb 设备上,我将所有 Acti
我看到我们可以使用以下方法创建 orient db: ODatabaseDocumentTx db2 = new ODatabaseDocumentTx ( "local:C:/temp/db/scr
我想知道这两者之间有什么区别?一个比另一个的好处?等等…… 最佳答案 “水平”允许布局中的元素彼此并排放置,而“垂直”则将它们堆叠在一起。两者都没有真正的好处 - 使用最适合您的设计的那个。 offi
HTML 代码: Home Feed
我正在尝试使用此代码在 View 上强制定向。 -(BOOL)shouldAutorotate { return YES; } -(NSUInteger)supportedInterfaceO
我有一个 XML 布局,在横向和纵向方向上工作得很好,但有一个异常(exception) - LinearLayout 中的两个按钮需要水平放置在横向设备方向上,垂直放置在纵向设备方向上。 我想知道是
我四处搜寻,结果很难找到答案。 Theres算法可以生成四元数形式的随机方向,但是它们涉及sqrt和trig函数。我真的不需要统一分布的方向。我只需要生成(许多)四元数,以使它们的方向随机性“足够好”
我想在 2 轴上监视设备的方向:非常简单:哪个方向朝下。 它必须在长时间(12 小时)内保持准确性 它将受到围绕所有轴的旋转和加速度 该设备将是带有标准陀螺仪/加速度计的 Android 手机。对于这
我有一个初始四元数q0。我得到了角速度测量结果,对速度进行了积分,所以在50Hz左右获得了3个角度。如何基于3个角度制作四元数?我不能只做3个四元数,可以吗? 所以要说清楚。 Q.new = Q.ne
我正在尝试实现用于方向检测的卡尔曼滤波器。就像我在网上找到的大多数其他实现一样,我将使用陀螺仪和加速度计来测量俯仰和滚动,但我还打算添加水平检测。这将使我对俯仰和滚动进行第二次阅读。这意味着我将有两种
我们有 XSENS MTi IMU 设备并使用 ROS 框架 (Ubuntu/Fuerte)。我们订阅了 IMU 数据,所有数据看起来都不错,除了方向。 在 Euler-Outputmode 中,就像
我想设置一个 TabControl 使其标题位于左侧而不是顶部,我该怎么做? 最佳答案 关于wpf - TabControl.Orientation?,我们在Stack Overflow上找到一个
是否有任何用于方向更改和窗口调整大小的 openui5 事件处理程序? onInit: function() { var data; this.drawChart(data);
我是一名优秀的程序员,十分优秀!