【TabBar嵌套Navigation案例-发现页面-按钮上的图片旋转 Objective-C语言】
一、接下来,我们来做这个,点击以后,让它出一个蓝色的View
1.就是我们示例程序的这种效果,
一点击,让这个按钮旋转,然后呢,再让它出来一个蓝色的View,
首先,我们要去监听它的点击事件,这是第一,我点击以后,我要做一些什么样的操作,要有点击事件,
所以呢,我要把这个东西,要去拖根儿线过来啊,然后呢,我们现在实际上,这个控制器,还没有这个类呢,所以,我们还要去创建一个类,
在Discovery这一块儿,我要写这个按钮的逻辑,那么,我肯定要写在ViewController里边,但是,这个Controller,还没有绑定类,我要先创建一个类,
在Discovery的Controller文件夹下,New一个File,
继承自UIViewController,叫做HMGroupBuyController,
下一步,给它先绑定一下,
再来它的点击事件,把这个玩意儿拖过来,
叫做:groupBuyClick:
在这个里边来写,
首先呢,这个里边,有一个图片的旋转,还有一个蓝色的View,
我们一个一个来做吧,我们先来做……先来做View吧,
这个View呢,怎么着来做,我的思路是这个样子的啊,
1)就是搞一个View,
2)这个View的高度,先给它设置为0,先给它设置到这个位置上,
3)然后呢,再去通过点击,改变它的高度,比如说150,
4)首先呢,它的X = 0,y = 64,
上面这个红色的navigation是半透明的,如果你y = 0 开始,上面应该能看到一点点儿蓝色,
首先呢,在这个里边,我们先来一个View,
@property(nonatomic,weak)UIView *blueView;
我懒加载啊,
- (UIView *)blueView{
if(!_blueView){
}
return _blueView;
}
然后,我们在这个里边来写,
UIView *blueView = [[UIView alloc] init];
blueView.backgroundColor = [UIColor blueColor];
blueView.frame = CGRectMake(0,64,kScreenWidth,0);// 它的高度 先给它来一个0
_blueView = blueView;// 再去赋值
然后,再去添加啊,
[self.view addSubview:blueView];
OK,这个blueView有了以后,我先在viewDidLoad里边,调用这个方法,
[self blueView];
先创建出来,一会儿我要说一个问题啊,
blueView应该有了,有了以后,当我们点击它的时候,
我们只需要让它的高度,变成0,或者变成150,就可以了,
然后呢,以动画的形式变,也就是说,首先,我要写一个动画,
[UIView animateWithDuration(NSTimeInterval) animation:^(void)animations];
输入两个参数:
1)animateWithDuration:(NSTimeInterval),来一个0.25
2)animations:^(void)animations,来一个
^{
// 来一个 self.blueView 我要去改变它的高度 是不是可以用分类
// 导一下头文件 直接点儿h
self.blueView.h = 150;
然后呢,加一个中括号和分号,
运行一下,看看有没有反应,
还是有反应的吧,然后,这个里边,我们试一下啊,把这个64,改成0,看看是什么效果,
这个现在展开,是150啊,
这条线,现在跟右边的这条线是对着的啊,
y改成0啊,直接command + R,
然后,
这个蓝色的View,最下边儿,离这个线,还差64的距离啊,
能够看到这个红色的navigation的背景,有点儿蓝吗,
它实际上,0是在这儿的,我们说,控制器的View,是在上边这儿的,我们想让它到下边这一块儿,只差64的距离,设置64,或者是,设置translucent = NO,
好,来到viewDidLoad:里边,加一个translucent等于NO,
[self.navigationController.navigationBar setTranslucent:NO];
这个时候,蓝色的View,就可以了到这根线这块儿来了,
我这儿还是0 啊,y 还是0,
也就是说,跟大家说过,也就是说,translucent = 半透明的意思&#
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/400705.html
如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!