UI小案例-可移动、可缩放

//
//  ViewController.m
//  02--anniu按钮-勾了git
//
//  Created by LongMa on 15/8/29.
//  Copyright (c) movedDistance15年 itcast. All rights reserved.
//

#import "ViewController.h"
#define movedDistance 20
typedef enum
{
    topButton = 10,
    bottomButton,
    leftButton,
    rightButton,
    zoomOut,
    zoomIn
}kButton;

@interface ViewController ()
@property IBOutlet UIButton* buttonOfImage;
- (IBAction)move:(UIButton *)button;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

}

- (IBAction)zoom:(UIButton*) button
{
    CGRect bounds = self.buttonOfImage.bounds;
    if (button.tag == zoomOut)
    {
        bounds.size.height += movedDistance;
        bounds.size.width  += movedDistance;
    }else
    {
        bounds.size.height -= movedDistance;
        bounds.size.width  -= movedDistance;
    }
    self.buttonOfImage.bounds = bounds;
    /*
    CGRect orgframe = self.buttonOfImage.frame;
    if (button.tag == zoomOut)
    {
        orgframe.size.height += movedDistance;
        orgframe.size.width  += movedDistance;
    }else
    {
        orgframe.size.height -= movedDistance;
        orgframe.size.width  -= movedDistance;
    }
    self.buttonOfImage.frame = orgframe;
     */

}

- (IBAction)move:(UIButton *)button
{
    //1.获取中心
    CGPoint center = self.buttonOfImage.center;
    //2.判断按钮并修改坐标
    switch (button.tag)
    {
        case topButton:
            center.y -= movedDistance;
            break;
        case bottomButton:
            center.y += movedDistance;
            break;
        case leftButton:
            center.x -= movedDistance;
            break;
        case rightButton:
            center.x += movedDistance;
            break;
        default:
            break;
    }
    //3.重新赋值
    self.buttonOfImage.center = center;
    /*
    CGRect frameOfImg = self.buttonOfImage.frame;//无 *
    switch (button.tag)
    {
        case topButton:
            frameOfImg.origin.y -= movedDistance;
            break;
        case bottomButton:
            frameOfImg.origin.y += movedDistance;
            break;
        case leftButton:
            frameOfImg.origin.x -= movedDistance;
            break;
        case rightButton:
            frameOfImg.origin.x += movedDistance;
            break;
        default:
            break;
    }

    self.buttonOfImage.frame = frameOfImg;
     */
}
@end
时间: 2024-10-25 06:52:06

UI小案例-可移动、可缩放的相关文章

8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署

原文:8天入门docker系列 -- 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署 这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说mysql,mongodb,redis,通常情况下这些存储设备要么是以容器的方式承载,要么是由DBA在非容器环境下统一管理. 一:webnotebook连接容器redis

零基础学UI小白锐变之路全能UI/UE设计师

课程简介:UI设计入学门槛较低,其所见即所得,大大增强了学习中的趣味性.而“互联网+”与O2O模式的大趋势,使之前景广阔超乎想象.行业内人才供不应求,设计人才缺口高达上千万,就业无忧.因人才的供不应求致使平均薪资水涨船高,最高的可达月薪30000+,可谓钱途无量.选择我,将您打造成会代码的全能设计师,领略前所未有的高薪体验. 学完后可选择从事4A广告公司平面设计工作,品牌形象设计工作及高端印前设计.电商美工.电商装修设计.网页设计.网页美工.网页制作.移动应用界面设计师.图形界面设计师.UI设计

Windows Server之浅谈SMB以及SMB小案例分享

SMB由来 服务器消息区块(英语:Server Message Block,缩写为SMB,服务器消息区块),又称网络文件共享系统(英语:Common Internet File System,缩写为CIFS),一种应用层网络传输协议,由微软开发,主要功能是使网络上的机器能够计算机文件.打印机.串行端口和通讯等资源.它也提供经认证的进程间通信机能.它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Network. SMB版本 OS W

Thinkphp 生成订单号小案例

Thinkphp 生成订单号小案例小伙伴们在日常的商城项目开发中,都会遇到订单号生成的问题,今天呢思梦PHP就带领大家去解读一下生成订单号的问题!首先,订单号我们要明确它有有3个性质:1.唯一性 2.不可推测性 3.效率性,唯一性和不可推测性不用说了,效率性是指不能频繁的去数据库查询以避免重复.况且满足这些条件的同时订单号还要足够的短.不知道小伙伴们在日常的项目中是否也和我一样去思考过生成订单的一些小问题,可能你也会说,这些东西不用想的那么复杂,其实呢,小编也是同意大家的看法,但是殊不知我们做程

几个数据库的小案例(一):将文本文件中的信息导入数据库的表中

从文本文件添加到数据库用户表的记录(有两个文件:frmMain.cs  SqlHelper.cs  ) //FrmMain.cs//作者:Meusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Fo

Java小案例(行星移动)

Java小案例 行星移动:参考:三百集 使用软件:idea2017,java 1,图片集:这里  (idea图片源放在target目录下,才能访问到),建议从小往上看... 2,定义MyFrame package my.university; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class MyFrame extends Frame {

图书借阅的小案例

这个小案例,主要练习类和方法的创建与调用 void Main() { while (true) { Console.WriteLine ("请输入标题或作者"); var key = Console.ReadLine().Trim(); Library.Search(key).Dump(); Console.WriteLine ("请输入要借阅/归还的图书编号"); var id = Convert.ToInt32(Console.ReadLine()); var

Cookie小案例-----记住浏览过的商品记录

Cookie小案例------记住浏览过的商品记录 我们知道,这个功能在电商项目中很常见.这里处理请求和页面显示都是由servlet实现,主要是为了体现cookie的作用, 实现功能如下: 1,点击购买的商品后,显示到另一页面 2,记住用户浏览过的商品,并在页面时中显示 3,当浏览过的数量超过最大值限度时,最下面一个商品被挤下去 4,当浏览过的商品本身就在浏览记录中,显示列表将其从中间移到最上面 显示一打开网站的样子和显示用户的浏览记录: package cn.itcast.cookie; im

Session小案例-----简单购物车的使用

Session小案例-----简单购物车的使用 同上篇一样,这里的处理请求和页面显示同样用的都是servlet. 功能实现如下: 1,显示网站的所有商品 2,用户点击购买后,能够记住用户选择的商品 3,实现了多个会话共享一个session 4, 实现了浏览器禁用cookie后数据共享问题的处理 首页: package cn.itcast.shopping; import java.io.IOException; import java.io.PrintWriter; import java.io