菱形开合的实现 IOS

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

核心代码块:

@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

菱形开合的实现 IOS

时间: 2024-10-27 12:29:36

菱形开合的实现 IOS的相关文章

企业私有云盘网盘供浙江杭州供应商厂家-开合信息

Mobox企业私有云盘网盘供浙江杭州供应商厂家-开合信息技术有限公司 杭州振华路西港新界4C 805  0571-88230476/77/78 -101 吴经理 13805711962 供应商厂家公司简介    杭州开合信息技术有限公司(OpenInfo Co., Ltd.)成立于2006年.公司致力于企业信息化软件的开发和推广的供应商厂家,2013年推出企业私有云盘软件是企业私有云盘的解决方案,该软件在国内已有一千多家的注册用户,在同行业中有很大的影响. 产品截图:    公司团队:    1

浙江杭州供应商厂家开合信息产品企业私有云盘网盘

供应商厂家公司简介 杭州开合信息技术有限公司(OpenInfo Co., Ltd.)成立于2006年.公司致力于企业信息化软件的开发和推广的供应商厂家,2013年推出企业私有云盘软件是企业私有云盘的解决方案,该软件在国内已有一千多家的注册用户,在同行业中有很大的影响. 联系方式 杭州振华路西港新界4C 805  0571-88230476/77/78 -101 吴经理 13805711962 产品截图:    公司团队:    1)一支非常敬业.能吃苦耐劳的团队:    2)一支专业技术人员: 

Unity3d 开发之 lua 在 IOS 上坑的总结

相同的 lua 代码在安卓上能正常运行,但在 IOS 上可能不会正常运行而导致报红,崩溃等,我在使用 lua 编程时遇到的一些坑总结如下: 1. File.ReadAllText, 诸如以下代码在 ios 上会崩: local path="C:/1.txt"; local file=luanet.import_type("System.IO.File"); local text=file.ReadAllText(path); 正确写法如下: local path=&

动量参数开合模型

1.样本:大连商品交易所和郑州商品交易所共40个指数近10年的收益数据 2.请观察图表: 3.每个因子有两个最大开口点,最大开口处是单因子最佳建仓窗口 4.两个因子的不同最大开口点共振可增加每个因子的效用(见双因子过滤模型),因此我们看到双因子组合的共振效用最大(因子1的最佳建仓窗口+因子2的不同开口初期) 原文地址:https://www.cnblogs.com/shengbei/p/9090925.html

android qq开合表

qq悬浮列表功能暂未实现 main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&q

黑马程序员-Xcode离线帮助文档的安装 ios开发-开发文档安装 isa指针 superclass指针 ios系统分四层:

Xcode离线帮助文档的安装 ios开发-开发文档安装 iOS开发肯定离不开开发文档,苹果有在线帮助文档,xCode其实可以下载模拟器文档和iOS8.1文档的,不过下载的速度实在不敢恭维,而且比较头疼的是不显示下载进度条的,苹果的开发文档都是放在)/应用程序/Xcode.app/Contents/Developer/Documentation/DocSets路径下,该路径下可以看到三个文件,xCode 6.1文档(com.apple.ADC_Reference_Library.Developer

轻松实现Android,iOS的一个手势动画效果

先来看效果 这是iOS下的效果,android下完全一致.通过do_GestureView组件和do_Animation组件,deviceone能很容易实现复杂的跨平台纯原生动画效果,这个示例就是通过手势控制图片上下动画滑动实现开合效果,还支持声音效果. 下面是主要的代码 //index.ui.js var do_Animator1 = mm("do_Animator"); do_Animator1.append(500, { y: -1334, curve:"Linear&

如何实现iOS图书动画-第2部分(下)

原文链接 : How to Create an iOS Book Open Animation: Part 2 原文作者 : Vincent Ngo 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy 状态 2 - 打开书 现在,状态1的动画完成了,我们可以转移到状态2的处理中来.在这里我们将一本合起的书转换成一本打开的书.在setStartPositionForPush(_:toVC:)方法下添加如下方法: func setEndPositionForPush(from

iOS图书动画

原文链接 : How to Create an iOS Book Open Animation: Part 2 原文作者 : Vincent Ngo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转载权,未经允许,不得转载! 译者 : kmyhy 欢迎回到iOS图书动画系列教程!在第一部分,我们学习了如何创建两个自定义的collection view layout并在图书书页中使用了阴影图层以使我们的App显得更加立体和真实. 在这一部分,我们将