Giter Site home page Giter Site logo

rbstoryboardlink's Introduction

RBStoryboardLink

DEPRECATED

With Apple's recent release of iOS 9 and Xcode 7, linking storyboards has become a natively-supported workflow. I don't know, but I certainly hope the community's large interest in RBStoryboardLink played a role in this change to Interface Builder. I appreciate all the ideas and contributions that have come from the community. RBStoryboardLink started its life simply as a proof-of-concept, and it became far more popular than imagined.

Since I work almost exclusively with the latest version of iOS, it's becoming harder for me to maintain RBStoryboardLink. This repository will remain available for anyone who needs to work with iOS 8 and earlier. There are also many forks available (120 at the time of this writing). It's sad to deprecate my most popular GitHub project, but it's wonderful that it's replaced by an officially-supported option. Thank you again for all the community support.

Summary

RBStoryboardLink started out as a proof-of-concept and that is still largely the case. It may not work in all cases. Furthermore, RBStoryboardLink should not be used without first understanding storyboards.

UIStoryboards are very powerful and useful. However, to make the best use of storyboards, they need to be broken down into natural modules. The problem with having many storyboards is writing the code to transition between them. RBStoryboardLink solves this problem by allowing "pseudo-segues" between UIStoryboards. These segues can be built without leaving Interface Builder and without writing any extra code.

Dependencies

RBStoryboardLink requires iOS 7.0+. With some modifications it can support iOS 6 as well, but I wanted to keep it simple. RBStoryboardLink cannot simultaneously support iOS 5 and 7 due to the large functionality differences.

How to use

NOTE: As of 0.1.0, there is a new workflow. The old workflow only used RBStoryboardLink. It was responsible for all the work by acting as a proxy for the real view controller. In the new workflow, RBStoryboardLink merely provides information for RBStoryboardSegue. RBStoryboardSegue redirects the segue on presentation. This redirection avoids the complexity of UIViewController containment and dereferencing a proxy in methods such as -prepareForSegue:sender:. The new workflow is thanks to @MBulli.

  1. Your app's storyboards must first be decomposed into their natural modules. See this guide for some tips.

  2. Where ever you want create a transition into a different storyboard, create a UIViewController representing the scene to be pushed.

  3. Create the desired segue type (Push, Modal, Custom) to these surrogate view controllers. To take advantage of the new linking, set the type to custom and choose one of RBStoryboardPushSegue, RBStoryboardModalSegue, or RBStoryboardPopoverSegue. You may also create subclasses of RBStoryboardSegue for custom transitions.

  4. In the Identity Inspector, change the class type of each surrogate view controller to RBStoryboardLink.

  5. While still in the Identity Inspector, add one or more User Defined Runtime Attributes.

    1. storyboardName (Required) The name of the storyboard to transition into.
    2. sceneIdentifier (Optional) The identifier of the view controller to transition to. If left blank, this will push the first view controller.
    3. needsTopLayoutGuide (Optional) Whether a custom layout constraint should be added to the top layout guide in storyboards. If you notice the background of your navigation bar not getting behind the status bar, set this to NO. This property is unused if using one of the RBStoryboardSegues.
    4. needsBottomLayoutGuide (Optional) Same as the one on top, but for the bottom guide. This property is unused if using one of the RBStoryboardSegues.

Implementation notes

  • When using a UITabBarController with UINavcontrollers in the tabs. Place the UINavigationControllers in the same storyboard as the UITabBarController.

Demos

There are two demos that are provided to show how to use RBStoryboardLink:

  • A standard, straightforward workflow.

  • A tabbed workflow.

Contribution

Contributions are welcomed. I'm much more responsive to pull requests rather than issues. The sample apps use KIF for automated testing. Any pull requests must pass the tests before they will be merged. If new functionality is introduced, the pull requests must also add tests for the new behavior. If you want to contribute and don't know what to tackle, take a look at the issues list.

License

RBStoryboardLink is licensed under the MIT license, which is reproduced in its entirety here:

Copyright (c) 2012-2015 Robert Brown

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

rbstoryboardlink's People

Contributors

3rdcycle avatar cmittendorf avatar cristianbica avatar fajarmf avatar kprofic avatar mauropiccini avatar mbinna avatar pxr avatar rob-brown avatar zhfish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rbstoryboardlink's Issues

Swift version?

Should RBStoryboardLink be converted to be Swift-exclusive, have a Swift version, or remain as-is?

RBStoryboardPopoverSegue not working as expected on IB (on Xcode 6)

This issue could be totally relevant or duplicate to #39 but I'd like to document it specifically anyway.

There are two view controllers: one storyboard link and one standard view controller, embedded in a navigation controller.

I created a bar button item on the navigationItem and ctrl+dragged it onto the storyboard link. I selected storyboard popover.

When run, it produces this assertion failure:

2014-10-07 18:17:16.432 MyProj[91455:1565416] *** Assertion failure in -[RBStoryboardPopoverSegue perform], /SourceCache/UIKit_Sim/UIKit-3318/UIStoryboardPopoverSegue.m:39
2014-10-07 18:17:37.186 MakeEatSee[91455:1565416] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'RBStoryboardPopoverSegue must be presented from a bar button item or a view.'

And the trace goes way into UIKit:

*** First throw call stack:
(
    0   CoreFoundation                      0x00000001112bd3f5 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x0000000114200bb7 objc_exception_throw + 45
    2   CoreFoundation                      0x00000001112bd25a +[NSException raise:format:arguments:] + 106
    3   Foundation                          0x0000000111c4e28f -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
    4   UIKit                               0x0000000112c2eed4 -[UIStoryboardPopoverSegue perform] + 323

Solution of ticket #8 broke our project by not extending UINavigationBars to the top of the screen

HI Rob,

today we updated our project to the latest version of RBStoryboardLink and we ran into a problem caused by what I think changed as a result of ticket #8. Our project uses SWRevealController together with RBStoryboardLink. It contains one storyboard containing the main navigation and a number of storyboards for the main user interaction. The content storyboards do contain a NSNavigationController as their initial view controller.

After this update the status bar no longer showed the tint color of the navigation controller, it was white instead (the color came from the content view of the RBStoryboardLink view controller).

Until now I came up with two "solutions":

The first solution would apply the tint color of the navigation bar to the white background view of a custom RBStoryboardLink subclass in viewDidLoad.

The other solution uses a subclass of RBStoryboardLink changing the viewDidLoad method to use the following layout constraint for the vertical positioning: @"V:|[view]|" instead of @"V:[topGuide][view][bottomGuide]".

https://github.com/cmittendorf/RBStoryBoardLinkWithSWRevealControllerDemo

Do you have an idea for a better solution?

Regards
Christian

Code called in prepareForSegue ignored

Hi Rob,

There seems to be a bug with prepareForSegue setting destination viewcontroller properties. If you grab latest and run your LinkedStoryboards example, the label isn't set when you move from LSChooseViewController to LSParameterReceivingViewController.

What is interesting is: I stepped through it, and prepareForSegue is called and appears to set the label. However, the label doesn't reflect this when shown.

Unfortunately, this is a killer issue or me. Most of my scenes relay on prepareForSegue to pass data needed by the destination viewcontroller.

Any ideas?

SearchBar Flash when it added with left item

var searchBar = UISearchBar()
searchBar.delegate = self
searchBar.searchBarStyle = UISearchBarStyle.Default
//self.navigationItem.titleView = searchBar
self.rbsl_targetViewController().navigationItem.titleView = searchBar

var view = UIView(frame: CGRectMake(0, 0, 100, 30))
view.backgroundColor = UIColor.blackColor()
var leftView = UIBarButtonItem(customView: view)
self.rbsl_storyboardLink().navigationItem.leftBarButtonItem = leftView

aa

ModalTransitionStyle is not working from Interface builder.

If I set the modalTransitionStyle for my controller, even on the RBStoryboardLink object it is not changing.

I ended up setting the transition style in performSegueWithIdentifier...

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {

    if var rbSegue = segue as? RBStoryboardModalSegue {
        rbSegue.transitionStyle = UIModalTransitionStyle.CrossDissolve
    }
   }

But I think is not a good way... I'm doing it wrong?

Using a push segue between storyboards shifts the target view down 20 pixels

I have a project I'm working on using RBStoryboardLink (iOS 7, xCode 5). We have two storyboards: a Main and Secondary. In our Main storyboard, we have a Navigation Controller that is responsible for the VCs in both Main and Secondary storyboards. The goal is to have a nav bar at the top of the secondary storyboard with a back button that will pop us back to the first storyboard.

Here is the second storyboard's initial view, note that the "RB" button has a vertical space constraint to the nav bar that is expressed by VC's "top bar" simulated metrics ("Translucent Navigation Bar"):

image

The problem is, when the app is run, that "RB" button is being shifted an additional 20 pixels down in the Y direction (presumably it is doubling up the space meant to accomodate the Status Bar):

image

Interestingly, if we push to another view (say, on a Third storyboard) from the Secondary storyboard, the view on the Third storyboard is also incorrectly shifted down 20px, but when going Back to the Secondary, it is positioned properly.

Has anyone else encountered this problem? Could this related to iOS 6 -> iOS 7 changes?

Cocoapod out of date

Can't use cocoapods to use any version beyond 0.0.8, but the main page mentions a huge change to 0.1.0 onwards. Can you update the repo?

Cannot push navigationController onto stack

Not sure if this is fixable since pragmatically pushing another navigation controller seems to be impossible, however, when using storyboards, it's possible to specify a push segue to another navigation controller. This is not possible using RBStoryboardPushSegue.

Tab bar is darker than it should be when each tab child is a storyboard view controller

I am trying to the RBStoryboardLink and I have two storyboards.. One that has a tab controller with regular view controllers as it 's tab children and the other which has each tab child as a RBStoryboardLink to another storyboard. The one with regular tab children works as expected however the one with storyboard viewcontrollers as tab children has dark greyish nav bar and tab bar. has anyone encountered this?

Unwind does not work

It looks like unwind segues don't work with the new workflow. Since the destination is changed in -[RBStoryboardSegue initWithIdentifier:source:destination:] I get a 'Receiver (<UINavigationController: 0x109444040>) has no segue with identifier '<SegueName>' kind of error. If I modify the code to not change the destination view controller and perform the unwind segue on the RBStoryboardLink instance it works as expected. Also, the methods after the comment The following methods are important to get unwind segues to work properly. in RBStoryboardLink.m are never called.

Cannot set leftBarButtonItem on tab based nav root controller

Still investigating this, but there appears to be a problem trying to set an leftBarButtonItem for the navigationItem of the root controller of a navigation controller based tab. This a case where the main storyboard contains the tab bar controller and one of its tabs is set up as storyboard link to a storyboard with a navigation controller as is first controller.

Passing value to LSParameterReceivingViewController does'n work

When you set label in prepareForSegue for LSParameterReceivingViewController - it doesn't work.

The reason - the object itself was created but all its connections (and to UILabel as well) were not initialized.

vc.label is nil when you set text for it inside prepareForSegue.

My workaround is to add an additional property and create the object for it inside awakeFromNib, then set this property in prepareForSegue and inside viewDidLoad copy value to UILabel.

  • (void)awakeFromNib {
    self.testText = [NSString stringWithFormat:@"Testing String"];
    }
  • (void)viewDidLoad {
    [super viewDidLoad];
    [self.label setText: self.testText];
    }

I do not like this workaround and I prefer to work directly with UI elements when needed... but have not found another solution.

Maybe you could advise something?

Merge sample projects

There are two sample projects. This was fine early on in development, but now they are becoming an inconvenience for development. They need to be merged into a single sample project that demonstrates all the features of RBStoryboardLink. There is no need to use the existing projects. Feel free to start from scratch.

iOS6 support

Hi!

How much effort would it be to support iOS6 and 7? Since around 20% of devices are still running on 6 it would be nice to have this.

THX;

how can i push other storyboard's viewcontroller?

AStorybaord : A1ViewController,A2ViewController
BStorybaord : B1ViewController,B2ViewController

I want to "A1ViewController push to B2ViewController" by segue not code as follows.

B2ViewController* b2 = [UIStoryboard storyboardWithName:@"BStorybaord" bundle:nil]

how can i to do ?

Using RBStoryboardlink with Bar button item

I've added the segue (custom, RBStoryboardPushSegue) from a bar button item. It does not work - not sure if I am missing something or if the code needs to be modified to make it work with a bar button item.
Thanks for looking into this.

Tabbar Crash.

screen shot 2013-10-15 at 7 28 25 am

Anyone have any ideas? Works find if I use a UIViewController. But with a UITableViwController it crashes.

Crash in forwardInvocation

I got a crash when pop viewController that storyboard linked

image

when i print the "po [anInvocation selector]"
image

It seams that VC calls the dealloc method cause the crash!

and, that's import, it will crash when storyboardlink dealloc!

So, I think add a "-dealloc" method for SBStoryboardLink will solve this problem!

finally, i update the method like that:

- (void)forwardInvocation:(NSInvocation *)anInvocation {
    if ([anInvocation selector]!=NSSelectorFromString(@"dealloc") && [self.scene respondsToSelector:[anInvocation selector]])
        [anInvocation invokeWithTarget:self.scene];
    else
        [super forwardInvocation:anInvocation];
}

and it worked!

Push podspec

Hi - your podspec version is 0.0.5; but the master spec repository is still showing 0.0.1; so Podfiles are pulling the original version of RBStoryboardLink. Could you push the current version?

Fix automated tests

The KIF tests seem to have trouble with the latest version of Xcode 5. Perhaps they should be replaced with Apple's UIAutomation? Either way, we need to get the automated tests running again.

Specifying a bundle...

How can I specify a bundle for a surrogates target View Controller that lives in a different bundle?

Double Tap Tab Bar Doesn't popToRootViewController

Hi Rob,

RBStoryboardLink has made my storyboards so much better and easier to maintain. Thank you!

I've found a small issue in the tab bar example with the navigation controller. If you click into the second view "Nav Controller works." when you double tap the "First" tab it doesn't pass on the reset view controller. In most cases I think this is quite small, but for my users it will be significant. I think I'm going to work around it by posting a notification from the tabbarcontroller if it detects a double tap, but if you know a way to fix it in the library please let me know!

I tested in both iOS 6 & 7 and it's the same behaviour.

Thanks again,

Lewis

Can't change status bar text color.

Normally, I can simply add:

  • (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
    }

And that will change the status bar text color at the viewController level. This isn't working, and my status bar text is stuck on black.

I've tried adding the code in RBStoryBoardLink.m, and in the viewController it's pointing to, and neither of them work. I've also tried setting status bar to white in all 3 (navigationController, RBStoryBoardLink, and DestinationViewController) in interfaceBuilder. Nothing seems to work here.

Any ideas?

Navigation bar title when using TabBar

I have TabBar application and one of the tabs is starting with NavigationController.

The problem is that I am unable to set navigation bar title, in either way:

self.navigationItem.title = "nav item title"

Title remains unchanged. It will work if I move navigation controller to separate storyboard, but then navbar is rendering incorrectly (not extending under status bar).

Any clues?
Thanks!

RBStoryboardLink causes viewDidLoad to be called before -prepareSegue:sender: has a chance to run

When using a show segue I would like to finish creating all view elements by the end of -viewDidLoad, but I need to create components

screen shot 2014-11-20 at 09 28 03

The reason is that the scene is being asked about its -preferredContentSize, which forces the view to load.

- (void)awakeFromNib {
    ...
    // Grabs the popover properties.
    self.preferredContentSize = scene.preferredContentSize;    // HERE!
    self.modalInPopover = scene.modalInPopover;
    ...
}

Layouts extending below bars are flawed (iOS 7)

Hi Rob,
thank you for your efforts, I really fancy the idea.
However, I am experiencing problems with iOS 7.
I am using a TabBar-Controller Setup as in the respective Demo Project.
Scrollview / tableview content is not inset to account for the translucent menu bar, navigation bar and tab bar.
The Adjust Scroll View Insets Option is set to YES via IB in the Navigation Controller of the TabBar Storyboard as well as the Initial View Controller of the linked Storyboard.

I added
self.automaticallyAdjustsScrollViewInsets = scene.automaticallyAdjustsScrollViewInsets;
self.extendedLayoutIncludesOpaqueBars = scene.extendedLayoutIncludesOpaqueBars;
to RBStoryboardlink.m - to no effect.

Help is greatly appreciated!

Cheers
Chris

iOS 7 Navigation Bar Translucent Issue

So I am having an issue getting my iOS 7 Navigation bar to be translucent. Views that I push onto the stack after the main views from the RBStoryboard have the correct translucent but the main tab bar view linked from the RBStoryboard master storyboard are not translucent. Any help?

View not in the RBStoryboard hierarchy( Can see the text underneath the navigation bar):
ios simulator screen shot mar 1 2014 4 05 11 pm

Another:
ios simulator screen shot mar 1 2014 4 08 01 pm

View in the RBStoryboard hierarchy( Cannot see the text underneath the navigation bar):
ios simulator screen shot mar 1 2014 4 07 32 pm

Question about working with tableviews

Hello rob, I'm new at developing, I like a lot how storyboard link works, but tell me if this is possible, I have a table view made in swift, and I want that row 1 sends to storyboard1, row 2 sends to storyboard2, etc etc, is that possible? And if it is, how can I make it?, thanks!

Linked modal storyboard doesn't cover status bar

Hi,
I have a problem when linking external storyboards using a modal segue.

The LinkedStoryboards example also have this issue, the RBStoryboardLink controller appears below the modal in the status bar space.

image

Thanks for this awesome library by the way.

Unwind Segues are not passed to the child view controller

I'm having an issue where my unwind segues are not passed to the child view controller of the Storyboard Link. The canPerformUnwindSegue method correctly detects whether the child view controller implements the desired unwind method, but the method is called on the StoryboardLink instead of the child view controller. I ended up adding forwarding invocation code to your class to get the messages passed to the correct controller.

- (BOOL)respondsToSelector:(SEL)aSelector {
    if ([super respondsToSelector:aSelector])
        return YES;
    else {
        return [self.scene respondsToSelector:aSelector];
    }
    return NO;
}

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {
    NSMethodSignature* signature = [super methodSignatureForSelector:aSelector];
    if (!signature) {
        signature = [self.scene methodSignatureForSelector:aSelector];
    }
    return signature;
}

- (void)forwardInvocation:(NSInvocation *)anInvocation {
    if ([self.scene respondsToSelector:[anInvocation selector]])
        [anInvocation invokeWithTarget:self.scene];
    else
        [super forwardInvocation:anInvocation];
}

Compatibility with Typhoon

I'd be great if there's a documented example that shows how RBStoryboardLink works with Typhoon: i.e. show that the initialViewController becomes the destinationController, whose properties have a chance of being injected with dependencies.

Has any one tried using this?

Alternative code

Hi Rob,

sorry for spamming your issue list, I wasn't able to find any email address to write directly to you.
Some time ago I tried to use your code in my project but failed in some aspects.
Inspired with your StoryboardLink I figured another way out to address this issue.

For me my solutions works very well but of course it has other downsides, too.
Maybe you want to checkout my code and give me an OK to publish it.
As it isn't completely finished yet it's more like a proof of concept than a read to use library.

https://github.com/MBulli/MBStoryboardLink

Corrupted state

Trying the library the segue works correctly but it doesn't come back properly.

On the console I get:
...
"nested push animation can result in corrupted navigation bar"
...
"Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted"

Any idea?

EDIT: this was my fault, the code was calling the segue twice

View is loaded earlier than expected

The current implementation causes the view of the linked view controller to be loaded when awakeFromNib is called.

This leads to unexpected behavior when, for example, using RBStoryBoardLink derived view controllers as children of a UITabBarController. View controllers assigned to a UITabBarController will have their awakeFromNib methods called immediately, but normally their views will not be loaded until the view controller is actually selected to be displayed.

It seems that another user has also discovered this issue, and has created a possible fix:

https://github.com/remybourgoin/RBStoryboardLink/commit/2dee09c2f633c21c6b3d0ac08014f2d55931932b

Issue with Modal Segue

I'm trying to create a modal segue. I have the surrogate subclassed with the correct run-time attributes.

I call:

[self performSegueWithIdentifier:@"toActionVC" sender:nil];

Any ideas why I am getting this error?

[SAActionMenuViewController scene]: unrecognized selector sent to instance 0x177e17d0
  2015-05-19 22:35:12.073 Beta[1930:643484] *** Terminating app due to uncaught  exception 'NSInvalidArgumentException', reason: '-[SAActionMenuViewController scene]: unrecognized      selector sent to instance 0x177e17d0'

SAActionMenuViewController is my 'SecondaryStoryboard'.

I'm also trying to pass data like so

  else if ([segue.identifier isEqualToString:@"toActionVC"])
    {
        RBStoryboardLink *link = (RBStoryboardLink *)segue.destinationViewController;
        SAActionMenuViewController *actionVC = (SAActionMenuViewController *)link.scene;
       actionVC.labelText = sender;
     }

iOS 6?

You mention in the readme it can be modified for iOS 6 pretty easily, but do not give any explanation of how/why. I was able to figure out a simplistic way of doing it (wrapping the iOS 7-only property pass-throughs and the needsTop/BottomLayoutGuide stuff in checks of the OS version) but I'm not 100% it covers all the use cases.

How to work with auto layout in linked storyboards?

Maybe i'm wrong because i'm newbie in AutoLayout, but in the examples the linked storyboards don't use Auto Layout, do there is a way to work with them?

This is my configuration:

-SWRevealViewController
 |-> (SWRevealViewControllerSegue) -> sw_front
 |-> (SWRevealViewControllerSegue) -> sw_rear

-(sw_rear)UITableViewController
 |(each row selection)
 |-> SWRevealViewControllerSegue -> (CommonContainer)

-CommonContainer
 |-> Container -> Embed segue for container -> RBStoryboardLink

- RBStoryboardLink
 |->(User defined runtime attributes) "storyboardName" : "target_storyboard"

-SpecfificControllerOfTargetedStoryboard
 -(void)viewDidLoad{
    UIBarButtonItem * button = //...
    self.topViewController.navigationItem.rightBarButtonItem = button;//DOESN'T WORK

Question: why no removeFromParentViewController

I see the scene using the following code to push to the viewcontroller in another storyboard:

UIViewController * scene = self.scene;
[self addChildViewController:scene];
[self.view addSubview:scene.view];
[self.scene didMoveToParentViewController:self];

And I check that when poped back, the parent view controller has no children view controllers.
I'm curious that why removeFromParentViewController is no need.
thanks.


I just realized that the whole scene is poped.

hide navigation bar will introduce 20px black status bar.

Hi,
I followed RBStoryboardLink demo example and try to make root view controller of a navigation view controller to hide navigation bar.

It introduced a 20px black status bar, which is not what I wanted. How can I remove it?
I have tried options such as uncheck extend edges under top bars or uncheck adjust scroll view insets but nothing works so far.

Anyone knows how to resolve this issue(I still need the status bar)? thanks!
ios simulator screen shot 4 jun 2015 10 03 55 pm

Problems with CocoaPods

When I try to build the project in XCode, I get the error message "error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation."

I just installed CocoaPods, so as far as I can tell it is up to date.

And when I run 'pod install', I get this error:
"Fetching podspec for RBStoryboardLink from ../RBStoryboardLink.podspec
[!] Unable to satisfy the following requirements:

  • RBStoryboardLink (from../RBStoryboardLink.podspec) required by Podfile
  • RBStoryboardLink (= 0.1.0) required by Podfile.lock"

I'm new to CocoaPods, so I'm probably missing something obvious. Any help would be appreciated, thanks.

Black screen on iOS 8.3

Hello I'm using RBStoryboardLing in my project and every thing works just fine but since de iOS 8.3 release my app get a black when transition from one storyboard to another.

Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.