CoreImage transition between NSViews - cocoa

One year at WWDC apple showed using CoreImage transitions to switch between two NSViews. It was a simple example where changing tabs changed the view with a swirl animation or something like that. The presenter joked never to actually do something like this in a real app. Does anyone remember that sample and remember what it was called or have a link?

Reducer has an AnimatingTabView that uses CIFilters to animate switching between tabViews.
http://developer.apple.com/library/mac/#samplecode/Reducer/Introduction/Intro.html

Related

Mac NSView animation animationDidEnd called twice on Retina MBP

A bug recently showed up in my app related to view animation on the new MBP Retina. I don't have a new MPB to reproduce but the affected user is helping track down the issue through copious amounts of debugging output. It appears that animationDidEnd is being called twice on my animation delegate, the second time seems to be screwing things up immensely. The code has worked on 10.5-10.7.4 for quite some time now and this seems to be isolated to the new MBP Retina so far.
I am using the view itself as the animation delegate in case something about the relationship between the view and the animation delegate has changed which precludes this possibility. I'm also further investigating the possibility of the animationDidEnd method being called by two distinct animation objects (though I have nothing to indicate that another animation is running anywhere in the app, let alone for this delegate).
If anyone is aware of any updates to documentation related to animation delegates I would appreciate a pointer, or any ideas otherwise. Thanks.
SOLVED: The issue didn't have to do with animations at all. It had to do with use of the deprecated method convertPointFromBase:
While deprecated methods are "usually" ok for at least the next release, this one is trouble when it comes to the Retina display. This is only conjecture, but since the method works as expected on non-Retina displays, I have to assume this has to do with the pixel density on the new displays.

Xcode image/pixel manipulation realtime

Hi I'm looking to do the following:
For a game, Create some effects based on the current view.
The code needs to grab part of a view then manipulate it.
One I need is "glass", so when the character walks behind the glass(or where the glass should be), the code will grab the image behind the glass and stretch it and reprint it where the glass should be, to give the effect of walking behind a lens.
What is the best way to do this?
I've never tried any thing like this before, so any help will be great!
I think you're asking about the image manipulation capabilities of the cocoa framework, in which case I reccomend looking into CoreImage:
http://developer.apple.com/library/mac/#documentation/graphicsimaging/Conceptual/CoreImaging/ci_intro/ci_intro.html#//apple_ref/doc/uid/TP30001185
The NSBox draws on top of the player view, the resulting composition gets a CIFilter (distortion) applied to it before drawing.

UI Like Youtube in Android (Tablet)

I've spent 2 hours looking for a solution. I need to make a design
like the Youtube UI (Tablet UI) where it shows a vertical scroll, but
in each row there are 4 videos (landscape view). I've tried to do
something similar, but i couldn't =(
Is there any place where i can get the source code of the youtube
application for Tablet? Or maybe some resource to solve this? :(
BTW, my try was designing UI with scrollView, LinearLayout and my_item.xml, i tried to inflate my_item.xml adding programmatically into the linearlayout (horizontal orientation), but it doesn't work in the way that i want. I need something like a linearlayout but with horizontal and vertical orientation at the same time (something like a div).
I was thinking to use a ListView and a custom adapter (with my_item.xml), but i'm not sure if this can be the best solution.
Thxs
You should create seperate resources for each layout.
For example if the user is in Portrait mode you would have the correct layout in.
layout-port: layout for portrait orientation
layout-land: layout for landscape orientation
Read more on providing alternative resources here
Also i would recommend to read more on Handling runtime changes
This will help you with recognizing when the user changes orientation. You could actually use this guide and when the user flips the devices orientation you could then change the layout. Keep in mind hard coding this can be dangerous though. I would recommend using the layout folders.
Good luck!
Finally i solve my problem.
It works with a linearLayout(vertical) and adding linearlayout(horizontal) for each row. And obviously managing my scrollview.
BTW, i still think android should have a layout like a "div".
Thxs all

Cocoa GUI - effects, polish

I'm creating an in-car control screen (will be run from a Mac Mini) and am looking for some libraries or code samples for "effects". For example, I might want the name of the current track playing to fly in from the right. I might want screens to fade or slide up, etc.
I am aware that I can manually write these effects in Objective-C.
I am hoping there is a library like scriptaculous for JavaScript that allows me to easily manipulate an existing TextView, ImageView, etc.
A framework or otherwise is preferred. I'm working in native cocoa. I don't mind if the library costs $.
Thanks,
Rick
Have a look at Core Image and Core Animation, both of which will allow you to add visual effects. Core Image, as its name implies, works with images only but can do fancy transitions. You can "fake" UI animations with it though by rendering a view to an image, swapping the image in in place or over the top of the view and then running a transition to another view.
Core Animation works directly with Cocoa Views and does have some transitions available. Both APIs (especially Core Animation) are fairly complex and have a learning curve.

Creating a quick look style zooming effect

I would like to create an effect than an image zooms up from a thumbnail size to full screen.
I am not sure what's the right steps to achieve this. Should I create a transparent full screen window and animate a layer on top of it?
Take a look at this CoreGraphics example. Specifically, take a look at the "grow" and "shrink" animations. That's how Apple does it, and that's what you'll want to do too.
Your solution of a transparent window with a CALayer inside is probably the best supported way to do it.
One thing that seems like it should be a good solution (at least it's the first thing I thought of when I wanted to do this) but isn't is NSView's enterFullScreenMode:withOptions:. If memory serves, it was originally meant to do what you're talking about here, but the animation was taken out and it generally doesn't work that well now.

Resources