实现的原理: 利用了自动布局和形变

核心代码块:

@implementation JHMainView

{

UILabel *label1,*label2,*label3,*label4;

UIButton *btn;

}

- (id)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self) {

btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 120, 120, 120)];

btn.transform = CGAffineTransformRotate(btn.transform, M_PI_4);

[btn addTarget:self action:@selector(btnClick:)forControlEvents:UIControlEventTouchUpInside];

btn.autoresizesSubviews = YES;

//btn.backgroundColor = [UIColor cyanColor];

label1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 60, 60)];

label1.backgroundColor = [UIColor orangeColor];

label2 = [[UILabel alloc]initWithFrame:CGRectMake(btn.bounds.size.width/2, 0, 60, 60)];

label2.autoresizingMask =  UIViewAutoresizingFlexibleLeftMargin;

label2.backgroundColor = [UIColor blackColor];

label3 = [[UILabel alloc]initWithFrame:CGRectMake(0, btn.bounds.size.height/2, 60, 60)];

label3.backgroundColor = [UIColor blueColor];

label3.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

label4 = [[UILabel alloc]initWithFrame:CGRectMake(btn.bounds.size.width/2, btn.bounds.size.height/2, 60, 60)];

label4.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin;

label4.backgroundColor = [UIColor purpleColor];

[btn addSubview:label1];

[btn addSubview:label2];

[btn addSubview:label3];

[btn addSubview:label4];

[self addSubview:btn];

}

return self;

}

- (void)btnClick:(UIButton *)sender

{

static int i=1 ;

btn.center = btn.center;

if(i%2)

{

btn.bounds = CGRectMake(0, 0, 180, 180);

}

else

{

btn.bounds = CGRectMake(0, 0, 120, 120);

}

i++;

}

@end

转载于:https://www.cnblogs.com/Ohero/p/3924317.html

菱形开合的实现 IOS相关推荐

  1. 剑网三谜题终于揭开,药宗四系开合得当,有输出有治疗

    大家已经过了很长时间的剑网,三新宗门终于在这个时候得到了答案,那就是我们所期待的剪影答案,那就是药宗.其实这个时候大家都知道了,剑网三不只有七秀,还有耀宗这样一个强大的门派虽然新出我们也应该去期待他日 ...

  2. 一直跳出来 visual_只练开合跳一个动作,会瘦吗?

    身高:190cm,体重:107kg. 开合跳:150个/组,每天做10组.每组间休息10秒. 3月1日体重107kg,4月1日减到101.5kg. 注意:每周练六天,三餐正常吃,主食减少. 你相信开合 ...

  3. python miio 连接小米网关_小米门窗传感器2本质是感应门窗开合的,结果更好用的却是光线传感器...

    "天下无贼"是每个人的愿景,但是,光有愿望是不行的,得有实实在在的安防措施才行,于是,大街小巷装上了高清摄像头,几乎所有小区和单位都设有门岗,就连支付宝.微信这些都有盗刷百分之百赔 ...

  4. 307 跳转会携带请求方法吗_瘦得最快的有氧运动,你小时候常玩|跳绳|开合跳|有氧运动|快走|减肥|燃脂...

    请问你是不是这样的,每当看到某个人暴瘦20斤时,就血书求瘦身方法,然后随手收藏一波,再也没用过. 每次都是用工作忙没时间,或者去健身房太费钱来安慰自己.其实,还有一个几乎0成本又很难停下来的方法-跳绳 ...

  5. 外置罗氏线圈和开合式互感器的导轨式多功能电力仪表

    ● 概述 外置罗氏线圈和开合式互感器的导轨式多功能电力仪表,它集成全部电力参数的测量(如单相或者三相的电流.电压.有功功率.无功功率.视在功率.频率.功率因数)以及电能监测和考核管理.同时它具有多种外 ...

  6. c语言控制继电器开合程序,求STC89c52单片机用倒计时控制继电器开、合的C语言程序,晶振12.000...

    匿名用户 1级 2014-05-05 回答 这是数字时钟的C程序,如果要实现对继电器的开关控制,就可以在主程序中加入对时间的控制.也就是说,在你定义的某个时间上,继电器会实现开或者合的状态!由于单片机 ...

  7. python miio 连接小米网关_时隔五年小米门窗传感器重磅升级开合光线检测二合一 仅49元...

    "天下无贼"是每个人的愿景,但是,光有愿望是不行的,得有实实在在的安防措施才行,于是,大街小巷装上了高清摄像头,几乎所有小区和单位都设有门岗,就连支付宝.微信这些都有盗刷百分之百赔 ...

  8. 雨伞连线题php fgetcsv,如何使用纯CSS实现一把雨伞开合的动画效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯CSS实现一把雨伞开合的动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 https://github. ...

  9. 不锈钢离合销 不锈钢门锁固定销 门锁开合离合销 不锈钢调节销钉

    不锈钢离合销 不锈钢门锁固定销 门锁开合离合销 不锈钢调节销钉的相关属性: 1.规格是:3*15 2.作用方式是:连接式 3.螺钉直径有:3MM 4.螺纹规格为:3 5.材质是:SUS303 6.头型 ...

最新文章

  1. C++简单使用Jsoncpp来读取写入json文件
  2. GTX1080 LetNet-5 CPU GPU cuDNN5.1 时间对比
  3. 合理利用延迟初始化优化 Spring Boot
  4. python统计文章单词次数
  5. ai模仿声音软件_如何开发人工智能类的软件?人工智能让我们的生活更加便捷!...
  6. python3中的dict循环性能对比
  7. Redis 为什么是单线程的?
  8. 光伏电站清扫机器人_轻型光伏电站清扫机器人的制作方法
  9. 阿里云高级技术专家赵伟:安全加速 SCDN 设计与案例
  10. 47 CO配置-控制-利润中心会计-设置实际数据的控制参数
  11. python设置黑色主题_Python背景色与语法高亮主题配置
  12. html 怎么转换,html怎么转换成word?
  13. 壳浏览器 android,QQ浏览器2020安卓版
  14. Python中过滤列表中全部奇数
  15. 全国计算机高新技术作用,全国计算机高新技术考试证书作用是什么?
  16. 磁盘分区格式(MBR分区和GPT分区)和启动引导模式(Legacy和UEFI)的关系
  17. 如何解决中小企业融资难问题
  18. 华为设备ENSP基本命令简介
  19. 洛谷P1339 Heat Wave G(最短路,图论)
  20. dxgmms2.sys蓝屏的三种解决方法

热门文章

  1. PPT|工业互联网关键技术专利态势
  2. 中国独角兽企业总榜发布:百亿超级独角兽达13家(附榜单)
  3. 英特尔发布全新CPU架构 称摩尔定律未死 中国研究院迎20周年
  4. 刘锋:互联网左右大脑结构与钱学森开放复杂巨系统
  5. 集成电路:迎国产替代浪潮,设计领域机会凸显
  6. 基于互联网大脑架构的腾讯未来趋势分析[系列1]
  7. GoogleNet是怎么理解图像的?谷歌大神教你读懂「神经特征可视化」
  8. Spring Framework 6 将采用 Java 17,是时候将你的应用升级了
  9. Hey!你的 CSDN 年度报告已出炉,请查收~
  10. 还在做Excel分析师?HR:对不起,我们还要求会Python!