MYRoutes 0.1.0

MYRoutes 0.1.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Dec 2014

Maintained by Unclaimed.


Downloads

Total153
Week0
Month0

Installs

Apps3
powered by Segment

GitHub

Stars23
Watchers1
Forks1
Issues0
Contributors1
Pull Requests0

Code

Files2
LOCLines of Code 442


MYRoutes 0.1.0

  • By
  • masafumi yoshida

simplify application view transition. original API make very easy and more useful.

  • simplify code. automatic push and present viewcontroller to current controller
  • Support for UINavigationController transition completion. not use delegate
  • Support with parameters transtion
  • Support url base routing like web servise

Usage

URL Routing

It is possible to dealthe URL of the various types. like a web service routing.

Routing Configurations

 [[MYRoutes shared] loadRouteConfig:@[
      @[@"/nib/:message" , @{@"nib":@"XIBTestViewController",@"class":@"MYViewController"}],
      @[@"/storyboard/first/:message" , @{@"storyboard":@"Main",@"identifier":@"First"}],
 ]];

transition from Xib with parameter

// push MYViewController from Xib has message an categoryId parameters 
[routes dispatch:@"/nib/hello?category_id=1"]

transition from Storyboard with parameter

// push MYViewController from Storyboard has message parameter 
[routes dispatch:@"/storyboard/first/hello"]

open from url scheme

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    // dispatch from url scheme. example xxxx://tweet/view/id
    return [[MYRoutes shared] dispatch:url ];
}

open external app

[routes dispatch:@"http://www.yahoo.co.jp"]

manual transition

push to navigationcontroller

push view controller
// auto search current navigation contorller
[routes pushViewController:viewController animated:YES];
With Storyboard
MYRoutes *routes = [MYRoutes shared];
[routes pushViewController:@"ViewControllerIdnetifier" withStoryboard:@"StoryboardName" animated:YES];
With Xib
[routes pushViewController:@"ViewController" withNib:@"ViewControllerXIB" animated:YES];
Extend feature use navigation completion block not use delegate
[routes pushViewController:@"ViewControllerIdnetifier" withStoryboard:@"StoryboardName" animated:YES completion:^{
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"navigation complete"
                                                    message:@"complete!!"
                                                   delegate:nil
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
[alertView show];

}];

present view contorller

push view controller
// auto search current viewcontorller
[routes presentViewController:viewController animated:YES completion:nil];
With Storyboard
[routes presentViewController:@"ViewControllerIdnetifier" withStoryboard:@"StoryboardName" animated:YES completion:nil];
With Xib
[routes presentViewController:@"ViewController" withNib:@"XIBTestViewController" animated:YES completion:nil];
with parameters transition
NSDictionary *params = @{@"message":self.messageTexfield.text};
[routes presentViewController:@"ViewControllerIdnetifier" withStoryboard:@"StoryboardName" animated:YES completion:nil];
[routes pushViewController:@"ViewControllerIdnetifier" withStoryboard:@"StoryboardName" withParameters:params animated:YES completion:nil];