Fah*_*kar 5 objective-c uibutton cgaffinetransform ibaction ios
我希望首先从下面的链接下载该项目,然后继续问题(仅36kb)
一开始我的情况如下.

当我单击"我的办公室"按钮时,我正在调用actionSeenButton将要打印的操作NSLog(@"actionSeenButton");
- (IBAction)actionSeenButton:(id)sender {
NSLog(@"actionSeenButton");
}
Run Code Online (Sandbox Code Playgroud)
这很完美.
当我点击显示隐藏按钮时,我按100滑动视图并显示我顶部的图像和按钮,如下图所示

使用的代码是
- (IBAction)showHiddenButton:(id)sender {
CGAffineTransform translation = CGAffineTransformIdentity;
translation = CGAffineTransformMakeTranslation(0, 100);
[UIView beginAnimations:nil context:nil];
self.view.transform = translation;
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
当我点击这个按钮时,我正在调用actionHiddenButton将要打印的动作NSLog(@"actionHiddenButton");
- (IBAction)actionHiddenButton:(id)sender {
NSLog(@"actionHiddenButton");
}
Run Code Online (Sandbox Code Playgroud)
但问题是,当我点击我看到的新按钮时,动作没有被调用.
知道为什么会这样吗?
当我将顶部隐藏按钮从y = -70移动到y = 170时,动作将被调用.
示例项目可以从这里下载
我想要实现的是,通过向下移动视图,在一行的顶部显示三个按钮(如菜单).
哎呀!!!下面是我的做法。
添加了新变量。
@property (retain, nonatomic) NSString *hideStatus;
Run Code Online (Sandbox Code Playgroud)
-(void) viewDidAppear:(BOOL)animated {
NSLog(@"viewDidAppear");
CGAffineTransform translation = CGAffineTransformIdentity;
translation = CGAffineTransformMakeTranslation(0, -100);
self.view.transform = translation;
self.view.clipsToBounds = YES;
[UIView commitAnimations];
self.view.frame = CGRectMake(0,-80,320,560);
hideStatus = @"hidden";
}
- (IBAction)showHiddenButton:(id)sender {
NSLog(@"hideStatus===%@", hideStatus);
CGAffineTransform translation = CGAffineTransformIdentity;
if ([hideStatus isEqualToString:@"hidden"]) {
translation = CGAffineTransformMakeTranslation(0, 0);
hideStatus = @"shown";
} else {
translation = CGAffineTransformMakeTranslation(0, -100);
hideStatus = @"hidden";
}
[UIView beginAnimations:nil context:nil];
self.view.transform = translation;
self.view.clipsToBounds = YES;
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
附件是示例项目。您可以从这里下载。
| 归档时间: |
|
| 查看次数: |
3603 次 |
| 最近记录: |