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

Reply via email to