iCrazeiOS /
ReBoom
A restoration mod for the iOS game 'Boom!' that brings it back online with a custom server implementation. Includes speedrunning tools and quality-of-life improvements.
Loading repository data…
taglia3 / repository
A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao
This is the Objective-C Version of Elastic Transition written in Swift by lkzhao https://github.com/lkzhao/ElasticTransition
A UIKit custom modal transition that simulates an elastic drag. Written in Objective-C. Feel free to contribute!

ElasticTransitionObjC is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "ElasticTransitionObjC"
First of all, in your view controller, create an instance of ElasticTransition
- (void)viewDidLoad {
//...
ElasticTransition *transition = [[ElasticTransition alloc] init];
// customization
transition.sticky = YES;
transition.showShadow = YES;
transition.panThreshold = 0.4;
transition.transformType = TRANSLATEMID;
//...
}
Simply assign the transition to your navigation controller's delegate
navigationController.delegate =transition
In prepareForSegue, assign the transition to be the transitioningDelegate of the destinationViewController. Also, dont forget to set the modalPresentationStyle to UIModalPresentationCustom
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
segue.destinationViewController.transitioningDelegate = transition;
segue.destinationViewController.modalPresentationStyle = UIModalPresentationCustom;
}
In your modal view controller .h implement the ElasticMenuTransitionDelegate
@interface MenuViewController: UIViewController <ElasticMenuTransitionDelegate>
@end
Then in your .m file synthesize the property and provide the contentLength value
@implementation MenuViewController
@synthesize contentLength;
-(id)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
self.contentLength = 320.0;
//...
}
return self;
}
@end
First, construct a pan gesture recognizer
UIPanGestureRecognizer *panGR = [[UIPanGestureRecognizer alloc] init];
[panGR addTarget:self action:@selector(handlePan:)];
[self.view addGestureRecognizer:panGR];
Then implement your gesture handler and fo the following:
-(void)handlePan:(UIPanGestureRecognizer*)pan{
if (pan.state == UIGestureRecognizerStateBegan){
// Here, you can do one of two things
// 1. show a viewcontroller directly
UIViewController *nextViewController = // construct your VC ...
[transition startInteractiveTransitionFromViewController:self ToViewController:nextViewController GestureRecognizer:pan];
// 2. perform a segue
[transition startInteractiveTransitionFromViewController:self SegueIdentifier:@"menu" GestureRecognizer:pan];
}else{
[transition updateInteractiveTransitionWithGestureRecognizer:pan];
}
}
self.dismissByBackgroundTouch = YES;
self.dismissByBackgroundDrag = YES;
self.dismissByForegroundDrag = YES;
-(void)handlePan:(UIPanGestureRecognizer*)pan{
if (pan.state == UIGestureRecognizerStateBegan){
[transition dismissInteractiveTransitionViewController:vc GestureRecognizer:pan Completion:nil];
}else{
[transition updateInteractiveTransitionWithGestureRecognizer:pan];
}
}
lkzhao, taglia3, the.taglia3@gmail.com
ElasticTransition is available under the MIT license. See the LICENSE file for more info.
Selected from shared topics, language and repository description—not editorial ratings.
iCrazeiOS /
A restoration mod for the iOS game 'Boom!' that brings it back online with a custom server implementation. Includes speedrunning tools and quality-of-life improvements.
lele8446 /
A custom UIImageView that supports contentMode attribute expansion.
esraaehab333 /
A lightweight Objective-C task manager built in Xcode 10. It features local persistence, a strict To-Do/In Progress/Done lifecycle, and a segmented control to filter tasks or group them by priority with custom visuals. Includes real-time search and mandatory edit confirmations.
andytryn /
iOS app providing real-time crypto trading signals with an animated splash screen, featuring smooth animations for logo, app name, and loading indicator. After 2.5 seconds, it transitions to the home screen. Built with Objective-C, UIKit, and deployed via Nyxian IDE. Supports light/dark mode and custom settings.