我遇到了一个问题,即确定如何检测UIView被触及和UIView被点击.当它被触及时,我希望UIView改变它的背景颜色.当它被触摸时,我希望UIView执行某些任务.我想知道我是如何解决这个问题的.
-(void)viewDidLoad
{
UITapGestureRecognizer *dismissGestureRecognition = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDismissDoubleTap:)];
dismissGestureRecognition.numberOfTapsRequired = 1;
[sectionDismissDoubleView addGestureRecognizer:dismissGestureRecognition];
UITapGestureRecognizer *dismissGestureDownRecognition = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissGestureDownRecognition:)];
dismissGestureRecognition.numberOfTouchesRequired = 1;
[sectionDismissDoubleView addGestureRecognizer:dismissGestureDownRecognition];
}
- (void)handleDismissDoubleTap:(UIGestureRecognizer*)tap {
SettingsDismissDoubleViewController *settingsDouble = [[SettingsDismissDoubleViewController alloc] initWithNibName:@"SettingsDismissDoubleViewController" bundle:nil];
[self.navigationController pushViewController:settingsDouble animated:YES];
}
- (void)dismissGestureDownRecognition:(UIGestureRecognizer*)tap {
NSLog(@"Down");
}
Run Code Online (Sandbox Code Playgroud) 每个人和每本书都声称CALayer中存在隐式动画.但是,每次我想验证到目前为止,我最终都会严格按照设定值进行验证.完全没有动画.
这是项目中没有其他任何事情发生的例子.我所做的就是创建一个视图,然后获取它的CALayer实例并执行一些应该隐式动画的操作.
[theLayer setValue:[NSNumber numberWithFloat:M_PI * 1.1] forKeyPath:@"transform.rotation.z"];
Run Code Online (Sandbox Code Playgroud)
另一个:
CGRect currentBounds = theLayer.bounds;
currentBounds.size.width += 120.f;
[self.animatedLayer setBounds:currentBounds];
Run Code Online (Sandbox Code Playgroud)
视图包含一些东西,所以我可以看到变化.我看到了视觉上的变化,但作为一个坚硬的瞬间.完全没有动画.
因此,在撰写关于核心动画和隐式动画的内容时,要么所有这些书都是错误的并且考虑到旧的Mac OS X知识,要么我做错了.任何人都可以提供一个演示iPhone上隐式动画的工作示例吗?