博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
切换UIView动画
阅读量:6565 次
发布时间:2019-06-24

本文共 3656 字,大约阅读时间需要 12 分钟。

hot3.png

首先添加拖动手势:

UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(completeAction:)];    [music addGestureRecognizer:pan];
//CGAffineTransformRotate(view.transform, minus*M_PI/180) 是在原来的角度上进行追加,CGAffineTransformMakeRotation(180*M_PI/180)直接旋转成某个角度。- (void)completeAction:(UISwipeGestureRecognizer *)sender {    switch (sender.state) {        case UIGestureRecognizerStateBegan:        {            startPoint = [sender locationInView:self.view];        }            break;        case UIGestureRecognizerStateChanged:        {            CGPoint point = [sender locationInView:self.view];            CGFloat minus = point.x - startPoint.x;            startPoint = point;            angle += minus*M_PI/180;            CGAffineTransform trans = CGAffineTransformRotate(view.transform, minus*M_PI/180); //            view.transform = trans;        }            break;        case UIGestureRecognizerStateEnded:        {            if (angle > 0.5) {                [UIView animateWithDuration:1 delay:0 usingSpringWithDamping:0.3 initialSpringVelocity:0 options:0 animations:^{                    view.transform = CGAffineTransformMakeRotation(180*M_PI/180);                } completion:^(BOOL finished) {                    [view removeFromSuperview];                    view = nil;                }];            } else {                view.transform = CGAffineTransformMakeRotation(0);            }            angle = 0;        }            break;        default:            break;    }}

以任意点进行旋转

- (void)setAnchorPoint:(CGPoint)anchorpoint forView:(UIView *)view{    CGRect oldFrame = view.frame;    view.layer.anchorPoint = anchorpoint;    view.frame = oldFrame;}

tabbar创建

- (void)viewDidLoad {    [super viewDidLoad];    NSArray *childItemsArray = @[                                 @{kClassKey  : @"HomeViewController",                                   kTitleKey  : @"微信",                                   kImgKey    : @"tabbar_mainframe",                                   kSelImgKey : @"tabbar_mainframeHL"},                                 @{kClassKey  : @"ContactsViewController",                                   kTitleKey  : @"通讯录",                                   kImgKey    : @"tabbar_contacts",                                   kSelImgKey : @"tabbar_contactsHL"},                                 @{kClassKey  : @"DiscoverViewController",                                   kTitleKey  : @"发现",                                   kImgKey    : @"tabbar_discover",                                   kSelImgKey : @"tabbar_discoverHL"},                                 @{kClassKey  : @"MeViewController",                                   kTitleKey  : @"我",                                   kImgKey    : @"tabbar_me",                                   kSelImgKey : @"tabbar_meHL"} ];    [childItemsArray enumerateObjectsUsingBlock:^(NSDictionary *dict, NSUInteger idx, BOOL *stop) {        UIViewController *vc = [NSClassFromString(dict[kClassKey]) new];        vc.title = dict[kTitleKey];        BaseNavigationController *nav = [[BaseNavigationController alloc] initWithRootViewController:vc];        UITabBarItem *item = nav.tabBarItem;        item.title = dict[kTitleKey];        item.image = [UIImage imageNamed:dict[kImgKey]];        item.selectedImage = [[UIImage imageNamed:dict[kSelImgKey]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        [item setTitleTextAttributes:@{NSForegroundColorAttributeName : kThemeColor} forState:UIControlStateSelected];        [self addChildViewController:nav];    }];    self.selectedIndex = 1;}

转载于:https://my.oschina.net/u/1763048/blog/746371

你可能感兴趣的文章
系统性能信息模块篇psutil之系统进程管理方法
查看>>
zabbix 自定义脚本
查看>>
docker 加速器
查看>>
CentOS项目实例之二--DHCP配置
查看>>
胡侃游戏自动化测试
查看>>
《跟老男孩学习Linux运维:MySQL入门与提高实践》一书勘误
查看>>
bash小小小脚本
查看>>
linux sed命令详解
查看>>
Zabbix 3.4.6 新特性:历史数据支持 Elasticsearch
查看>>
oracle PLS-00363: 表达式 'A1' 不能用作赋值目标
查看>>
Centos6.5_salt自动部署zabbix_agentd(二)-- 部署windows以及linux系统
查看>>
rsync启动关闭shell脚本
查看>>
学习网页开发与网站设计必看的【代码逆袭】书
查看>>
Python 中文编码
查看>>
ubuntu-14.04编译安装PostgreSQL
查看>>
IAS的工作原理(二) 作为 RADIUS 代理的 IAS
查看>>
虽然离成功很遥远,33岁程序员提前感受退休在家看看孩子的日子
查看>>
shell脚本学习笔记系列--1
查看>>
RAC环境下做归档时出错ORA-29707
查看>>
Linux下载JDK1.7
查看>>