Monday, 15 March 2010

xcode - IOS 6: present a modal view controller -



xcode - IOS 6: present a modal view controller -

i have tab view controller , login view controller in xcode 4.6 ios 6.1 sdk

when app start loaded "view controller 1". how can show login view if user not logged? in viewdidload() of view controller 1 have insert code:

mynewappappdelegate *appdelegate = [[uiapplication sharedapplication] delegate]; if(!appdelegate.isuserlogged){ uistoryboard *mainstoryboard = [uistoryboard storyboardwithname:@"mainstoryboard" bundle:nil]; loginviewcontroller *controller = (loginviewcontroller*)[mainstoryboard instantiateviewcontrollerwithidentifier:@"loginview"]; [self presentviewcontroller:controller animated:yes completion: nil];

}

but nil happen. how can show login view controller?

thanks support

i'm using xamarin studio 4.0 xcode 4.6 , ios 6.1 , able show login screen using storyboard. code in c# i'm sure can translate objective-c equivalent.

when using storyboard window , rootviewcontroller set "initial scene" storyboard. in appdelegate instantiate instance of loginviewcontroller using "storyboard id". cache instance of current rootviewcontroller , set new loginviewcontroller rootviewcontroller.

[register ("appdelegate")] public partial class appdelegate : uiapplicationdelegate { loginviewcontroller logincontroller; public override uiwindow window { get; set; } public override bool finishedlaunching(uiapplication application, nsdictionary launchoptions) { logincontroller = window.rootviewcontroller.storyboard.instantiateviewcontroller("loginscene") loginviewcontroller; logincontroller.initialviewcontroller = window.rootviewcontroller; window.rootviewcontroller = logincontroller; homecoming true; } //... other overrides ... }

inside loginviewcontroller i've created property hold initialviewcontroller , action login button. after login work reset rootviewcontroller initialviewcontroller cached , dismiss current loginviewcontroller.

public partial class loginviewcontroller : uiviewcontroller { public uiviewcontroller initialviewcontroller { get; set; } public loginviewcontroller (intptr handle) : base of operations (handle) { } partial void onloginclicked(monotouch.uikit.uibarbuttonitem sender) { //... login work here ... uiapplication.sharedapplication.delegate.window.rootviewcontroller = initialviewcontroller; dismissviewcontroller(false, null); } }

the loginviewcontroller can standalone have in storyboard. doesn't need connected other scenes or need segues.

xcode uiviewcontroller ios6

No comments:

Post a Comment