iOS部分-UI基础控件 - 01天 入门 第12课 代码优化
来源:互联网 发布:松下fpwin编程手册 编辑:程序博客网 时间:2024/06/05 23:45
/*
1.基本功能实现
2.对代码优化:
尽量让重复的代码只出现一次
*/
它无缘无故的跑去了( 02-按钮操作这个项目)里面了
//枚举本质上就是整数,定义的时候,如果只定义了第一个数值,后续的数值会依次递增
//枚举类型是解决魔法数字比较常用的手段
//使用宏定义魔法数字
#define kMovingDelta 20
typedef enum {
kMovingDirTop = 10,
kMovingDirBottom,
kMovingDirLeft,
kMovingDirRight
} kMovingDir;
全代码
#import "ViewController.h"
//枚举本质上就是整数,定义的时候,如果只定义了第一个数值,后续的数值会依次递增
//枚举类型是解决魔法数字比较常用的手段
//使用宏定义魔法数字
#define kMovingDelta 20
typedef enum {
kMovingDirTop = 10,
kMovingDirBottom,
kMovingDirLeft,
kMovingDirRight
} kMovingDir;
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *iconButton;
@end
@implementation ViewController
/*
让重复的代码只出现一次
*/
- (IBAction)move:(UIButton *)button
{
//修改位置可以通过frame
//在OC中,不允许直接修改"对象"的"结构体属性"的成员
//但是允许修改"结构体属性"的"成员"
//如果要修改对象的结构体属性,需要三个步骤
//1.取出button的frame
CGRect frame = self.iconButton.frame;
//2.根据按钮的类型,判断移动的方向,再修改结构体的成员
//这些叫做魔法数字 我写一些数字,你猜不出来
//magic number魔法数字
//如何避免魔法数字
switch (button.tag) {
case kMovingDirTop: // 上
frame.origin.y -= kMovingDelta;
break;
case kMovingDirBottom: // 下
frame.origin.y += kMovingDelta;
break;
case kMovingDirLeft: // 左
frame.origin.x -= kMovingDelta;
break;
case kMovingDirRight: // 右
frame.origin.x += kMovingDelta;
break;
default:
break;
}
//3.重新为对象的结构体属性赋值
self.iconButton.frame = frame;
}
@end
- iOS部分-UI基础控件 - 01天 入门 第12课 代码优化
- iOS部分-UI基础控件 - 01天 入门 第09课 UI控件概述
- iOS部分-UI基础控件 - 01天 入门 第01课 计算机的界面搭建
- iOS部分-UI基础控件 - 01天 入门 第02课 加法计算器的实现
- iOS部分-UI基础控件 - 01天 入门 第03课 IBAction&IBOutlet
- iOS部分-UI基础控件 - 01天 入门 第04课 加法计算器小结
- iOS部分-UI基础控件 - 01天 入门 第05课 关闭键盘
- iOS部分-UI基础控件 - 01天 入门 第06课 gif的简单实用
- iOS部分-UI基础控件 - 01天 入门 第07课 私有扩展&IBAction
- iOS部分-UI基础控件 - 01天 入门 第08课 创建应用程序中的一些细节
- iOS部分-UI基础控件 - 01天 入门 第10课 frame&bounds¢er属性
- iOS部分-UI基础控件 - 01天 入门 第11课 上下左右移动
- iOS入门-UI基础控件
- iOS从入门开发系列01 (UI基础控件)
- IOS UI基础控件
- UI第01天:iOS编程入门总结
- IOS基础UI控件简介
- IOS UI基础控件总结
- How To Create A Struts 2 Web Application
- 新建Android工程报错:'Building workspace' has encountered a problem...解决办法
- Leetcode #141 Linked List Cycle Python
- iOS部分-UI基础控件 - 01天 入门 第11课 上下左右移动
- 635 Oh, my goddess【优先队列+bfs】
- iOS部分-UI基础控件 - 01天 入门 第12课 代码优化
- PHP中的运算符
- imkdzvutpsotrzub
- 【笔记】css绘制带三角的气泡
- Unity优化大全(八)之 GPU-Ligh和其他
- Shader基本语法
- 中序遍历和后序遍历树构造二叉树
- MYSQL安装遇到MySQL-server conflicts with错误(mysql5.6.17)
- [HDU 1506 Largest Rectangle in a Histogram] ...类dp?...