实现功能:

点击向上的箭头,按钮图片向上,移动,点击向下的箭头,按钮图片向下移动

点击向左的箭头,按钮图片向左移动,点击向右的箭头,按钮图片向右移动,

点击加号图片放大,点击减号,图片缩小

第一步: 搭建界面,将控件分别连线

第二步: 将图片按钮连线

@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开发之按钮的基本使用的更多相关文章

  1. IOS开发之按钮控件Button详解

    reference:http://mxcvns.lofter.com/post/1d23b1a3_685d59d 首先是继承问题,UIButton继承于UIControl,而UIControl继承于U ...

  2. iOS开发--底部按钮和应用图标显示未读消息

    我们要实现的效果如下: 我们使用系统自带的,实际上,代码量很少,在我们要显示的按钮上,打上下面一句代码即可: self.tabBarItem.badgeValue = @"1"; ...

  3. IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题

    在iOS开发中,使用UISearchBar的时候,当搜索框失去焦点的时候,取消按钮是默认不能点击的,如图按钮的颜色是灰色的:  这是因为此时取消按钮的enabled属性被设置为NO了,那么当我们需要让 ...

  4. iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明

    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...

  5. ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明

    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...

  6. IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例

    IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...

  7. iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换

    iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换 不多说直接上效果图和代码 1.设置RootViewController为一个导航试图控制器 //  Copyright © 2016年 ...

  8. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  9. iOS开发之再探多线程编程:Grand Central Dispatch详解

    Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...

随机推荐

  1. Mac 升级 PHP 7

    http://www.phpyc.com/article/15 mac 自带 php, 这个地球人都知道 在新系统中,/usr/bin 成为了系统保护目录,所以我们以前使用的替换 系统 php 的方法 ...

  2. ios中修改数字键盘

    自定义文本框: #import <UIKit/UIKit.h> //自定义键盘的键定义 @interface DIYKey : NSObject { } @property(copy, n ...

  3. maven常见问题问答(转)

    转自:http://www.oschina.net/question/158170_29368 1.前言 Maven,发音是[`meivin],"专家"的 意思.它是一个很好的项目 ...

  4. java struts2入门学习实例--使用struts2快速实现多个文件上传

    一.错误提示信息配置 昨天说到更改默认错误配置信息,我测试很多遍,一直都不对.下面贴出来,待以后有好方法了再补充吧. 首先新建一个properties文件,这里命名为testupload.proper ...

  5. Elasticsearch报警插件Watch安装以及使用

    参考:http://blog.csdn.net/ptmozhu/article/details/52296958 http://corejava2008.iteye.com/blog/2214279 ...

  6. 程序员,不要让自己做兔子(updated) 网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事 我就是想打你了,还需要什么理由吗?谁让你是兔子 项目经理是这样当的

    程序员,不要让自己做兔子(updated) 前段时间和一个朋友聊天,酒席间向我抱怨他那段时间的郁闷:项目经理从客户那里拿来一个需求,实际上就是一个ppt描述,我这个朋友拿过来看后刚开始不觉得什么,一个 ...

  7. log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  8. 【C语言】练习2-1

     题目来源:<The C programming language>中的习题P27  练习2-1: 编写一个程序以确定分别由signed及unsigned限定的char.short.int ...

  9. Linux导出/导入逻辑卷组信息

    源主机上操作: 将文件系统umount # umount /u01 再将LV和VG inactive: # lvchange -an /dev/vg_u01/lv_u01 # vgchange -an ...

  10. 【转】Tesla Model X的车门设计问题

    Tesla Model X的车门设计问题 Tesla即将推出的SUV(Model X),不但继承了以上提到的Model S的各种问题(触摸屏,门把,……),而且还制造了新的问题.Model X具有一个 ...