【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,一经查实,立即删除!

相关文章

JS基础进阶Webs-API、HTML 、DOM

一、JS中的API 1. 定义 JavaScript API是指为JavaScript提供的一组编程接口和对象,用以允许开发者访问和操作Web浏览器或其他JavaScript环境(如Node.js)提供的特定功能。这些API使得开发者能够编写更加动态和交互式的Web应用程序。 2. 主要…

服务器数据恢复—raid5阵列热备盘未全部启用导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境: 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘,其中2块硬盘为热备盘。 服务器存储故障: 该存储raid5阵列中有两块硬盘离线,只有1块热备盘启用替换掉其中一块离线盘,另外…

​产品经理-​你如何理解“互联网思维(35)

在产品规划和功能改版中,确实非常重视用户需求和体验。产品需求是互联网产品的核心 用户体验是互联网产品的重点。在互联网新产品规划中,会非常重视用户验证环节 确保做出来的东西确实是用户想要的;而在已经上线的产品中,往往会有…

人工智能与机器学习原理精解【12】

文章目录 分级聚类理论分级聚类的详细说明1. 定义2. 算法3. 计算4. 例子5. 例题 皮尔逊相关系数 julia实现 参考文献 分级聚类 理论 分级聚类的详细说明 1. 定义 分级聚类(Hierarchical Clustering),又称为层次聚类,是一种通过…

谷歌反垄断官司败诉后,或又面临被拆分风险?

KlipC报道:上周8月5日,美国法院裁定谷歌的搜索业务违反了美国反垄断法,非法垄断在线搜索和搜索文本广告市场。据悉,胜诉的美国司法部正在考虑拆分谷歌。其他选项包括强制谷歌与竞争对手分享更多数据,以及防止其在人工智…

【二叉树进阶】--- 根据二叉树创建字符串

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 数据结构 从本篇文章开始,博主将分享一些结合二叉树的进阶算法题。 🏠 根据二叉树创建字符串 📌 题目内容 根据二叉…

从行为面试问题(behavioral questions)看中美程序员差异。

中美程序员在职场中的工作状态和职能、福利等有很大区别,从面试中的BQ轮就可见一斑。 中美程序员的面试轮差异? 国内的面试轮在不同公司间差异很大,但总体的问题类型包含笔试面试(算法题、概念题、项目深挖、职业目标、职场文化…

FGUI+TS如何实现数字翻滚

FGUITS如何实现数字翻滚 实现效果如下: 实现步骤: fgui制作组件和特效 fgui制作组件,设置一条竖向数字包含1-9或者小数点符号等,可见区域为一个数字大小,最好可见区域紧贴数字,这样滚动的时候滚动区域范围…

深度学习------------------卷积神经网络(LeNet)

目录 LeNet网络手写的数字识别MNIST总结卷积神经网络(LeNet) 问题 LeNet网络 手写的数字识别 MNIST ①输入的是:3232的image ②放到一个55的卷积层里面(为什么是5?因为32-x128,∴x5)&#xff0c…

【教程】Ubuntu给pycharm添加侧边栏快捷方式

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 以下教程不仅限于pycharm,其他软件也是一样操作 1、进入到pycharm的目录,先通过命令行打开pycharm: ./bin/pycharm…

keepalived+haproxy高可用负载均衡集群

简介 使用haproxy制作负载均衡集群,keepalived通过状态检测脚本检测本机haproxy状态,若为离线状态,则会降低该节点的优先级。 实验准备 四台虚拟机:KA1、KA2为keepalivedhaproxy,web1、web2为后端服务器,均…

阿里云-java调用短信服务,第三方接口的开启(傻瓜式教程)

第一步:在浏览器中,搜索阿里云 第二步:打开aly的主页 第三步:在最上方的导航栏中,找到云市场,注意不要点击,会自动有触发悬浮框出现,在悬浮框中找到 短信 第四步:点击 短…

无人机之电池注意事项

1、外场作业时,电池一定要放置在阴凉处,避免太阳直射; 2、刚作业完的电池发热严重时,请降至室温再充电; 3、注意电池状态,一旦发现电池出现鼓包、漏液等现象,必须马上停止使用; 4…

UE5 C++项目的配置

创建项目 首先启动UE5,然后选择要创建的项目,选择c进行创建 创建项目完毕之后,会自动打开visual studio,页面如下图所示 点击总体配置状态的刷新按钮,会自动检测总体的配置状态 一般会在下图所示的两项出现警告 Unreal Engi…

舵机模块学习

舵机是一种根据输入PWM信号占空比来控制输出角度的装置 执行逻辑:PWM信号输入到控制板,给控制版一个指定的目标角度,然后电位器检测输出轴的当前角度,如果大于目标角度,电机反转,小于正转,最终使…

Linux--HTTP协议(http服务器构建)

目录 1.HTTP 协议 2.认识 URL 3.urlencode 和 urldecode(编码) urlencode(URL编码) urldecode(URL解码) 4.HTTP 协议请求与响应格式 4.1HTTP 常见方法(三种) 5.HTTP 的状态码…

去中心化技术的崛起:探索Web3的新时代

引言: Web3是互联网发展的新阶段,它通过去中心化技术重新定义了数字世界的运作方式。这一新时代不仅带来了技术上的突破,也为社会互动和数据管理开辟了新的前景。本文将深入探讨Web3的核心技术、应用领域、全球影响以及面临的挑战&#xff0…

React状态管理:react-redux和redux-saga(适合由vue转到react的同学)

注意:本文不会把所有知识点都写一遍,并不适合纯新手阅读 首先Redux是一种状态管理方案,本身和react并没有什么联系,redux也可以结合其他框架来用。 react-redux是基于react的一种状态管理实现,他不像vuex那样直接内置在…

Centos 7 升级GCC时遇到 mirrorlist.centos.org; Unknown error“

问题描述 在执行如下操作的时候, yum install devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils 出现: 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 网上搜索了一下,原因是 mir…

全开源智慧停车场微信小程序源码/智能停车系统源码/停车自助缴费系统/停车场管理收费+物业管理+物联网+自助缴费功能

源码简介: 智慧停车场微信小程序源码,全开源智能停车系统源码,停车自助缴费系统,具有停车场管理、停车收费、物业管理、物联网、自助缴费等多种功能。 这是一个全开源的智能停车系统,功能强大。它不仅能帮你管理停车…