I also found ViewDeck, https://github.com/Inferis/ViewDeck, which is a bit more involved but has a few more features (including a bounce) when pulling the view too far. I've had a crack at porting it and so far it has come along quite nicely.
my port is https://github.com/sgmunn/MonoKit -- search for Class2.cs (still in progress :). Cheers, Greg On 05/07/2012, at 7:03 PM, Nic Wise wrote: > Thanks Greg. I might try to port that over - looks like a nice implementation. > > On Thu, Jul 5, 2012 at 12:12 AM, Greg Munn <[email protected]> wrote: >> This one is written in Obj-C and flies out from the bottom, but you could >> adapt it easily enough. >> >> https://github.com/iridia/IRSlidingSplitViewController >> >> >> On 04/07/2012, at 11:59 PM, Nic Wise wrote: >> >>> (there is a 40k limit in posts, so... this is now plaintext) >>> >>> >>> James Clancey has done a basic version of it: >>> >>> https://github.com/Clancey/FlyOutNavigation >>> >>> I've not seen anything else, tho. But on the surface, it shouldn't be >>> too hard. Two views, one under the other. Trigger something (button) >>> and animate the top view away. Trigger something (gesture?) and >>> animate it back in. >>> >>> I did a basic one, with a huge UIImageView as the background, and you >>> hit something, and it just scrolled over the show the left side. >>> >>> so, assuming you have a 320x2 x 480 image (non-retina) as the >>> background view (BaseView), the button (trigger) just calls >>> SetInitialPage(0, true) for the left side, and 0,true for the right >>> side. >>> >>> BaseView = new UIView(new RectangleF(new PointF(0,0), >>> Resources.Background.Size)); //Resources.Background is the big image! >>> baseView.BackgroundColor = Resources.MoleskineBackgroundColor; //it's >>> a color, but it's a pattern.... >>> View.AddSubview(baseView); >>> >>> //just add it into the View's view... this is all just in a UIViewController >>> >>> public void TogglePage() >>> { >>> page = (page == 1) ? 0 : 1; >>> >>> SetInitialPage(page); >>> sideButton.SetTitle((page == 1) ? "<<" : ">>", >>> UIControlState.Normal); >>> } >>> >>> >>> public override void SetInitialPage(int page, bool animate = true) >>> { >>> if (animate) >>> { >>> UIView.BeginAnimations("pagescroll"); >>> UIView.SetAnimationDuration(0.75f); >>> UIView.SetAnimationCurve(UIViewAnimationCurve.EaseInOut); >>> } >>> >>> if (page == 0) >>> { >>> var baseViewBounds = BaseView.Bounds; >>> baseViewBounds.X = 0; >>> BaseView.Bounds = baseViewBounds; >>> >>> } else { >>> var baseViewBounds = BaseView.Bounds; >>> baseViewBounds.X = BaseView.Bounds.Width - 320; >>> BaseView.Bounds = baseViewBounds; >>> } >>> >>> if (animate) >>> { >>> UIView.CommitAnimations(); >>> } >>> base.SetInitialPage(page, animate); >>> } >>> _______________________________________________ >>> MonoTouch mailing list >>> [email protected] >>> http://lists.ximian.com/mailman/listinfo/monotouch >> > > > > -- > Nic Wise > t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise > b. http://www.fastchicken.co.nz/ > > Earnest: Self-employed? Track your business expenses and income. > http://earnestapp.com > Nearest Bus: find when the next bus is coming to your stop. > http://goo.gl/Vcz1p > mobileAgent (for FreeAgent): get your accounts in your pocket. > http://goo.gl/IuBU > Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa > London Bike App: Find the nearest Boris Bike, and get riding! > http://goo.gl/Icp2 _______________________________________________ MonoTouch mailing list [email protected] http://lists.ximian.com/mailman/listinfo/monotouch
