iOS开发之按钮的基本使用
实现功能:

点击向上的箭头,按钮图片向上,移动,点击向下的箭头,按钮图片向下移动
点击向左的箭头,按钮图片向左移动,点击向右的箭头,按钮图片向右移动,
点击加号图片放大,点击减号,图片缩小
第一步: 搭建界面,将控件分别连线

第二步: 将图片按钮连线
@property (weak, nonatomic) IBOutlet UIButton *headBtn;
第三步: 在每个按钮点击事件中实现向上,向下,向左,向右,放大,缩小的功能
//想上
- (IBAction)up:(id)sender {
// NSLog(@"上");
// self.headBtn.frame.origin.y = self.headBtn.frame.origin.y - 10;
//不能直接访问对象的结构体属性的成员变量
//能够直接访问对象的结构体属性
// self.headBtn.frame
//1 取出对象的结构体属性frame 赋值给临时的变量
CGRect tempFrame = self.headBtn.frame;
//2 修改临时变量的值
// tempFrame.origin.y = tempFrame.origin.y - 10;
//
tempFrame.origin.y -= 10;
//3 用临时变量的值覆盖原来的值
self.headBtn.frame = tempFrame;
}
//向下
- (IBAction)down:(id)sender {
// NSLog(@"下");
//1 取出对象的结构体属性frame 赋值给临时的变量
CGRect tempFrame = self.headBtn.frame;
//2 修改临时变量的值
// tempFrame.origin.y = tempFrame.origin.y - 10;
//
tempFrame.origin.y += 10;
//3 用临时变量的值覆盖原来的值
self.headBtn.frame = tempFrame;
}
/**
向左
*/
- (IBAction)left:(id)sender {
// NSLog(@"左");
CGRect tempFrame = self.headBtn.frame;
//2 修改临时变量的值
// tempFrame.origin.y = tempFrame.origin.y - 10;
//
tempFrame.origin.x -= 10;
//3 用临时变量的值覆盖原来的值
self.headBtn.frame = tempFrame;
}
/**
向右
@param sender <#sender description#>
*/
- (IBAction)right:(id)sender {
// NSLog(@"右");
//1 取出对象的结构体属性frame 赋值给临时的变量
CGRect tempFrame = self.headBtn.frame;
//2 修改临时变量的值
// tempFrame.origin.y = tempFrame.origin.y - 10;
//
tempFrame.origin.x += 10;
//3 用临时变量的值覆盖原来的值
self.headBtn.frame = tempFrame;
}
/**
放大
@param sender <#sender description#>
*/
- (IBAction)big:(id)sender {
// NSLog(@"大");
CGRect tempFrame = self.headBtn.frame;
//2 修改临时变量的值
// tempFrame.origin.y = tempFrame.origin.y - 10;
//
tempFrame.size.width += 10;
tempFrame.size.height +=10;
//3 用临时变量的值覆盖原来的值
self.headBtn.frame = tempFrame;
}
/**
缩小
@param sender <#sender description#>
*/
- (IBAction)small:(id)sender {
// NSLog(@"小");
CGRect tempFrame = self.headBtn.frame;
//2 修改临时变量的值
// tempFrame.origin.y = tempFrame.origin.y - 10;
//
tempFrame.size.width -= 10;
tempFrame.size.height -=10;
//3 用临时变量的值覆盖原来的值
self.headBtn.frame = tempFrame;
}
@end
iOS开发之按钮的基本使用的更多相关文章
- IOS开发之按钮控件Button详解
reference:http://mxcvns.lofter.com/post/1d23b1a3_685d59d 首先是继承问题,UIButton继承于UIControl,而UIControl继承于U ...
- iOS开发--底部按钮和应用图标显示未读消息
我们要实现的效果如下: 我们使用系统自带的,实际上,代码量很少,在我们要显示的按钮上,打上下面一句代码即可: self.tabBarItem.badgeValue = @"1"; ...
- IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
在iOS开发中,使用UISearchBar的时候,当搜索框失去焦点的时候,取消按钮是默认不能点击的,如图按钮的颜色是灰色的: 这是因为此时取消按钮的enabled属性被设置为NO了,那么当我们需要让 ...
- iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明
ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...
- ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明
ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...
- iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换
iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换 不多说直接上效果图和代码 1.设置RootViewController为一个导航试图控制器 // Copyright © 2016年 ...
- iOS开发系列--打造自己的“美图秀秀”
--绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...
- iOS开发之再探多线程编程:Grand Central Dispatch详解
Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...
随机推荐
- 【win7 + win server 2008】设置定时任务,设置.bat 文件去执行php脚本 == 用来配合爬虫程序简直不要太爽
Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行 一.首先进行任务管理器设置 每隔1分钟执行.BAT 文件配置 首先Windows Server 200 ...
- [转]图解分布式一致性协议Paxos
Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢? <分布式系统的事务处理>: Google Chubby的作者MikeBurrows说过这个世界上只有一种一致性算法,那就是 ...
- Java中存储金额用什么数据类型?
转自:https://blog.csdn.net/u011277123/article/details/70214630 很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数 ...
- keras callback中的stop_training
keras这个框架简洁优美,设计上堪称典范.而tensorflow就显得臃肿庞杂,混乱不清.当然,keras的周边部件比如callbacks.datasets.preprocessing有许多过度设计 ...
- magento 为用户注册增加一个字段(转)
步骤 I. 加一个occupation/title字段到用户注册页,差不多在register.html的54行,在email下方加一个Occupation显示代码 代码: <li>< ...
- kubernetes架构之二
一.概述 IaaS:即基础设施即服务,通过虚拟化和分布式存储等技术,实现对包括服务器.存储设备.网络设备等各种物理资源的抽象:从而形成了一个可扩展.可按需分配的虚拟资源池.最具代表性的IaaS产品有A ...
- Java8 lambda表达式10个示例
Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Ja ...
- SQL Server 表分区之水平表分区
什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表:而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字 ...
- python学习笔记——爬虫学习中的重要库urllib
1 urllib概述 1.1 urllib库中的模块类型 urllib是python内置的http请求库 其提供了如下功能: (1)error 异常处理模块 (2)parse url解析模块 (3)r ...
- Android Notification 的声音和震动
我们在Android系统发送一条Notification的时候,经常需要通过震动或声音来提醒用户.如何为Notification设置声音和震动了.大致思路有: - AndroidNotificatio ...