首先添加拖動手勢:微信
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; } }
以任意點進行旋轉code
- (void)setAnchorPoint:(CGPoint)anchorpoint forView:(UIView *)view{ CGRect oldFrame = view.frame; view.layer.anchorPoint = anchorpoint; view.frame = oldFrame; }
tabbar建立orm
- (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; }