- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 UIScrollView
我添加了三个 View Z
, A
和 B
因此:
我想要完成的是以 View 为中心的“旋转”方式设置三个 View A
首先出现。当用户向左滑动并看到 View 时 B
, 再次向左滑动可以查看Z
,反之亦然,在查看时向右滑动Z
带用户查看B
.
我已经为 self.scrollview
设置了代码因此:
ZViewController *zViewController = [[ZViewController alloc] init];
[self addChildViewController:zViewController];
[self.scrollView addSubview:zViewController.view];
[zViewController didMoveToParentViewController:self];
AViewController *aViewController = [[AViewController alloc] init];
CGRect aframe = aViewController.view.frame;
aframe.origin.x = 320;
aViewController.view.frame = aframe;
[self addChildViewController:aViewController];
[self.scrollView addSubview:aViewController.view];
[aViewController didMoveToParentViewController:self];
BViewController *bViewController = [[BViewController alloc] init];
CGRect bframe = bViewController.view.frame;
bframe.origin.x = 640;
bViewController.view.frame = bframe;
[self addChildViewController:bViewController];
[self.scrollView addSubview:bViewController.view];
[bViewController didMoveToParentViewController:self];
self.scrollView.contentSize = CGSizeMake(960, self.view.frame.size.height);
self.scrollView.pagingEnabled = YES;
但是,目前我不确定如何继续让“旋转”元素工作(即在 B
上滑动到 Z
)并希望得到任何帮助。
谢谢!
最佳答案
如果您想使用 3 个 View Controller 而不是具有 3 个页面的 ScrollView ,这个使用标签栏 Controller 的简单实现应该适合您。我从选项卡式应用程序模板开始,并添加了第三个 View Controller 。索引 0、1 和 2 处的 Controller 分别对应于 View A、B 和 Z。在A Controller 的viewDidLoad方法中,我设置了标签栏隐藏。
我创建了一个 BaseViewController 类,我在 Storyboard中设置的 3 个 Controller 继承自该类。 BaseViewController 中的代码创建并添加滑动手势识别器,以为您提供旋转顺序的方式处理滑动,并为您提供 View 之间的滑动过渡,
@implementation BaseViewController
- (void)viewDidLoad {
[super viewDidLoad];
UISwipeGestureRecognizer *swiperRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];
swiperRight.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:swiperRight];
UISwipeGestureRecognizer *swiperLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];
swiperLeft.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swiperLeft];
}
- (void)handleSwipe:(UISwipeGestureRecognizer *)sender {
if (sender.direction == 1) {
NSInteger nextIndex = (self.tabBarController.selectedIndex - 1 == -1)? 2 : self.tabBarController.selectedIndex - 1;
[self slideInViewWithIndex:nextIndex direction:-1];
}else{
NSInteger nextIndex = (self.tabBarController.selectedIndex + 1 == 3)? 0 : self.tabBarController.selectedIndex + 1;
[self slideInViewWithIndex:nextIndex direction:1];
}
}
-(void)slideInViewWithIndex:(NSInteger) index direction:(NSInteger) dir {
UIView *nextView = [(self.tabBarController.viewControllers[index]) view];
[self.tabBarController.view addSubview:nextView];
nextView.frame = CGRectOffset(self.tabBarController.view.bounds, dir * self.tabBarController.view.bounds.size.width, 0);
[UIView animateWithDuration:.3 animations:^{
nextView.frame = self.tabBarController.view.bounds;
} completion:^(BOOL finished) {
self.tabBarController.selectedIndex = index;
}];
}
关于ios - 三 View 之间使用UIScrollView到 "rotate",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23901729/
我有这部分代码将 div 围绕一个圆圈对齐: angle = 0; mangle = 0; for(i = 1; i<= count; i++) { $("#p" +i).css
为什么平衡得到一个AVL树的过程叫做旋转 ? (当你在它时,什么是 单 和 双 旋转?) 我的每一本教科书都公然使用这个词,没有任何解释。 最佳答案 这是在你的树的子树中改变根的操作,这是非常简单的操
作为进入处理的一个小作业,我必须编写一些代码才能获得以下内容: 使用 public void setup() { size(300,200); noFill(); rect(100,
我遇到了 Google Chrome 控制台报告的问题。我使用的是 Ubuntu 12.04。控制台中的问题是: Uncaught TypeError: Cannot read propert
在统一编辑器中,当我启用“Pivot”时,游戏对象将围绕“枢轴点”位置旋转,当我启用“Center”时,游戏对象将围绕“中心点”旋转 但是如果我使用脚本旋转,它总是围绕“中心点”旋转,例如,这是我的场
rotate() 算法会从左边选择序列的元素。它的工作机制如图 1 所示。 图 1 rotate()算法的工作方式(点此查看大图) 为了理解如何旋转序列,可以将序列中的元素想象成手镯上的珠子。rota
在三个JS中,是否可以用鼠标旋转对象而不是用OrbitControls.js旋转相机( https://threejs.org/docs/#examples/controls/OrbitControl
我正在学习 CSS 过渡和转换。这是 HTML: Transformatons and Transitions animate animate2 d
我们有一个图像,它似乎在旋转时消失了一秒钟。这个问题存在于 IE8 中,但在 IE9 和其他支持 HTML5 的浏览器中工作正常。我们使用了 jQuery 旋转插件。 HTML CSS #obj {
作为评估的一部分,我被赋予了这项任务......“‘旋转’按钮应该翻转元素的纵横比。” 为了完成这个,我定位了元素并切换了一个类名(旋转),然后添加了这个 CSS... .main-inner.rot
我从 Unity 插件 Final IK 中看到了这行代码。 整个函数是这样的: //Limits rotation to a single degree of freedom (along axis
我正在尝试在动画关键帧内同时应用 -webkit-filter:hue-rotate() 和 -webkit-transform:rotate()。不幸的是,即使是 Chrome Canary 也无法
我正在尝试制作看起来像这样的波斯尼亚和黑塞哥维那国旗。 我正在努力实现星星的排列方式。它们位于 45 度倾斜轴上,但星星本身没有旋转。 以下是我正在尝试的最低限度代码,但它也会旋转星星。 有什么办法可
我正在尝试使用 ratcave for python 创建一个项目。但是当我导入 ratcave 时,出现以下错误: AttributeError: 'scipy.spatial.transform.
我正在尝试使用 ratcave for python 创建一个项目。但是当我导入 ratcave 时,出现以下错误: AttributeError: 'scipy.spatial.transform.
我的问题是我使用支持 CSS2 和 javascript 但不支持 css3 的 html 到 pdf 生成器 (acts_as_flying_saucer),所以我不能使用 transform: r
我做了以下转换: // Translate my cube to origin myCubeModelMatrix = glm::translate( myCubeModelMatrix, vec3(
我正在将一些基于 PIL 的代码转换为 NumPy,但我发现 skimage.transform.rotate函数比 PIL 的 Image.rotate 慢显着。 作为一个粗略的比较,使用 skim
前言 .我知道过去曾多次问过这个问题,但没有一个解决方案实际上对我有用。自从提出类似问题(根据耗时过滤的 Google 搜索)以来,也已经有好几年了,因此大多数较旧的答案都已过时。如果有任何方法可以让
我试图将元素从其起始旋转点旋转 360 度,而不是从 0deg。例如,如果起点是 90deg,它会从 90deg 旋转到 90deg(整圈)。 我的目标是使用简单的@keyframes 动画来旋转元素
我是一名优秀的程序员,十分优秀!