I've been using that kind of methods on and off but never really understood how they behaved.
Every time I try to use them, I find myself poking in the dark as I try different aspect and it never seem to do what I expect it to.
For the sake of argument, I'm trying to convert the frame I get from UIKeyboard's notification.
In landscape mode, I get this NSRect:
UIKeyboardFrameEndUserInfoKey = NSRect: {{406, 0}, {362, 1024}}
Now I want to convert it to the proper rect (swap x/y, width and height) so I do
CGRect compatibleRect = [self convertRect:[[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue] toView:nil];
But the rect becomes:
compatibleRect = CGRect: {{406,406}, {362, 1024}}
Any help would be appreciated :)