Git Product home page Git Product logo

navigatorkit's Issues

View controllers can be proxied more than once

After spending a couple of hours trying to track down an issue in my app where a link on one tab wouldn't take you to a different tab reliably, the proximate cause seems to be that -[NKNavigatorMap objectForURL:query:pattern:] could wrap a controller in more than one layer of NKViewControllerProxy.

Specifically, because the proxy forwards messages to the "real" object, this will evaluate to true:

if ([object isKindOfClass:[UIViewController class]] &&
  ![object isKindOfClass:[NKViewController class]]) {

I've added an additional clause that seems to have alleviated the issue:

if ([object isKindOfClass:[UIViewController class]] &&
  ![object isKindOfClass:[NKViewController class]] &&
  ![[object class] isSubclassOfClass:[NKViewControllerProxy class]]) {

Whole split view in a tab bar contoller?

Any thoughts on the best way to promote the tab bar to the top of the food chain? I need a long tab bar, visible in both portrait and landscape, that handles switching out core functions of the app. Right now I browbeat several stock split views into one tab bar, and have to muscle the controller-switching with inelegant code. I really like the prospect of NavigatorKit and url handling, but from the looks, thisnsort of change is non-trivial.

Perhaps I'm mistaken?

Crashes: self.windowClass = windowCls;

Crashes: self.windowClass = windowCls;

-(id) initWithWindowClass:(Class)windowCls navigationControllerClass:(Class)navControllerCls {
self = [super init];
if (!self) {
return nil;
}
self.delegate = nil;
self.navigationMap = [[NKNavigatorMap alloc] init];

self.windowClass = windowCls;
self.wantsNavigationControllerForRoot = TRUE;
self.navigationControllerClass  = navControllerCls;

2011-05-09 16:36:01.940 GAPS[11720:207] -[NKSplitViewNavigator setWindowClass:]: unrecognized selector sent to instance 0x4b35a60
2011-05-09 16:36:01.941 GAPS[11720:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NKSplitViewNavigator setWindowClass:]: unrecognized selector sent to instance 0x4b35a60'
*** Call stack at first throw:
(
0 CoreFoundation 0x00fc5be9 exceptionPreprocess + 185
1 libobjc.A.dylib 0x0111a5c2 objc_exception_throw + 47
2 CoreFoundation 0x00fc76fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x00f37366 __forwarding
+ 966
4 CoreFoundation 0x00f36f22 _CF_forwarding_prep_0 + 50
5 GAPS 0x00010b98 -[NKNavigator initWithWindowClass:navigationControllerClass:] + 264
6 GAPS 0x00010a5c -[NKNavigator init] + 124
7 GAPS 0x00015bb1 -[NKSplitViewNavigator init] + 65
8 GAPS 0x00015af6 +[NKSplitViewNavigator splitViewNavigator] + 150
9 GAPS 0x00002a82 -[NVCApplicationDelegate application:didFinishLaunchingWithOptions:] + 578
10 UIKit 0x003161fa -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
11 UIKit 0x0031855e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
12 UIKit 0x00322db2 -[UIApplication handleEvent:withNewEvent:] + 1533
13 UIKit 0x0031b202 -[UIApplication sendEvent:] + 71
14 UIKit 0x00320732 _UIApplicationHandleEvent + 7576
15 GraphicsServices 0x018fba36 PurpleEventCallback + 1550
16 CoreFoundation 0x00fa7064 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 52
17 CoreFoundation 0x00f076f7 __CFRunLoopDoSource1 + 215
18 CoreFoundation 0x00f04983 __CFRunLoopRun + 979
19 CoreFoundation 0x00f04240 CFRunLoopRunSpecific + 208
20 CoreFoundation 0x00f04161 CFRunLoopRunInMode + 97
21 UIKit 0x00317fa8 -[UIApplication _run] + 636
22 UIKit 0x0032442e UIApplicationMain + 1160
23 GAPS 0x00004277 main + 135
24 GAPS 0x00002705 start + 53
25 ??? 0x00000001 0x0 + 1
)
terminate called after throwing an instance of 'NSException'
sharedlibrary apply-load-rules all
Current language: auto; currently objective-c
(gdb)

StackScrollView

I've been looking at StackScrollView, the twitter-like sliding panel controller. I'm thinking it would lend well to URL navigation, if reworked a little bit. There's a few others floating around, but none seem to be as complete as that one. There's a fork that adds icons, so I'm planning to use it instead of my tab bar & split view nightmare. I think it'll significantly clean up the spiders nest of master/detail/navigation/etc. Have you considered incorporating something like that into NavigatorKit?

g

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.