实现功能:

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

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

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

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

第二步: 将图片按钮连线

@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. C#正则验证字符串是否全是数字

    Regex r = new Regex(@"^\d+$"); if (r.Match(vlannumber).Success) { sql += " and a.vlan ...

  2. 【php+微擎】微擎学习相关帮助推荐

    我刚接触微擎没多久,学习中遇到很多问题,走过很多弯路.遇到很多问题在网上也查不到,因此想把我自己的学习历程写出来供新手们参考(本人还是菜鸟一枚,文中错误之处,敬请指正!) 我以一个新手小白的角度来帮助 ...

  3. Android中创建倒影效果的工具类

                     一.有时候我们需要创建倒影的效果,我们接触最多的都是图片能够创建倒影,而布局依然可以创建倒影.       二.工具类代码 import android.graphi ...

  4. java代码行数计算器

        import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util. ...

  5. wordpress搭建博客上传begin主题The themes is locked to another domain

    如题, 在使用wordpress搭建个人博客过程中, 上传begin主题, 出现如下弹框的错误, 而且样式有误. 环境: Los Angeles CentOS 7 x64 nginx+mysql 解决 ...

  6. java struts2入门学习---常用标签学习总结

    jsp页面中引入标签: <%@ taglib uri="/struts-tags" prefix="s"%> 常用标签知识点总结: <s:fi ...

  7. iOS控制器生命周期

    //view加载完毕就会自动调用 - (void)viewDidLoad; //view即将显示到window上 - (void)viewWillAppear:(BOOL)animated ; //v ...

  8. ss is one another utility to investigate sockets(特适合大规模tcp链接)

    原创文章,转载请注明: 转载自系统技术非业余研究 本文链接地址: ss is one another utility to investigate sockets(特适合大规模tcp链接) 具体的可以 ...

  9. SaltStack入门到精通第一篇:安装SaltStack

    SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙  发布日期:2014-06-09 17:50:36   实际环境的设定: 系统环境: centos6 或centos5 实验机 ...

  10. SqlLocalDB2014使用笔记

    标签: 软件开发,数据库肯定是必不可少的当然是数据库了,在.Net开发中兼容性最好的莫过于微软的亲儿子“SqlServer”了,但是在安装SqlServer的安装随便找个版本就是一个多G或者几百兆,安 ...