Showing multiple simultaneous tool tips in Cocoa - objective-c

I want to add a feature to my Mac app inspired by the Help mode in iPhoto for iPad, pictured below. I would love to do this using built-in APIs, so I don't have to build my own tool-tip-like view. Is there any way for me to either show multiple tool tips at the same time, or to achieve something similar using NSHelpManager?

If you are targeting 10.7 or later you could do this fairly easily using NSPopover. You would have to create quite a few popover windows but it isn't difficult to do.

Related

NSStatusItem reordering along Status Bar

I am trying to add a functionality to my status bar app for Mac OS X. I would like to be able to move my item along the bar, as you can do for the native OS tools like the Bluetooth or the WiFi icon.
Cheers
Update for macOS Sierra: Apple improved NSStatusItem. Items can now be reordered by ⌘-dragging. This works for all Apple’s menu items and all third party apps.
Pretty much all the reasons you could ever want to use NSMenuExtra have been removed now, which is great. So, the answer now is to just use NSStatusItem. No further action is required.
What you are looking for is NSMenuExtra and not NSMenuItem.
Apple uses NSMenuExtra for the system menu icons including Wi-Fi and Bluetooth. Although it looks similar to the regular NSMenuItem, NSMenuExtra has some special features, notably to keep their relative order after rebooting, and Command-Draggable by user.
Unfortunately, NSMenuExtra is totally undocumented, so if you are targeting the Mac App Store, it's better for you to stick with the standard NSMenuItem. Otherwise, there is a bunch of tutorials about how to create an NSMenuExtra. For example, here are two of them:
NSMenuExtra – working with undocumented APIs
Building NSMenuExtra - A Small Tutorial
Unfortunately there is no 'good' way to do that, however you can check this question for the hack which can do that:
How to drag NSStatusItems

Better PSMTabBarControl / Cocoa Tabs

I want to unify multiple windows from my OS X-Application into a Tab-View, just like Safari, Espresso, Finder, CodeRunner… I found PSMTabBarControl which does the job, but the look and feel are quite different from the other applications I saw.
Comparison (Image)
Then I found out, that those applications had always the same name for the resources used for the Tabs.
Screenshot of the recourses from CodeRunner
Could I just «steal» those images and use them in my own application with PSMTabBarControl or is there another way to get a more native look (not like the PSMTabBarControl default or Chromium Tabs).
You may want to try MMTabBarView.
MMTabBarView is a modernized and view based re-write of PSMTabBarControl.
I release a open source TabbarView controls for OS X and Cocoa recently, you may want to have a look at it here.

How to build a UI similar to Pocket for Mac OS X?

I just started Mac OS X programming and I want to build a UI similar to the Pocket Mac Client.
I started with a SourceList, yet it did not work, regarding the table scrolling. Then I found an NSSplitView, yet it looks quite different (see the second screenshot).
I searched through cocoa controls and some other online repositories for a similar ui and could not find some.
Here is my app test (a table in a NSSplitView). It will work, yet looks quite ugly if I add contents ...
Does somebody have an idea on how to gain a similar look to the pocket UI?
you can you use this source for putting buttons on title bar:
https://www.cocoacontrols.com/controls/ansegmentedcontrol
and for the list you should use NSTableView and View Based stye for Content Mode that active by double slow click on table view, for more info:
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTableView_Class/Reference/Reference.html

Animation/Transition-Creator for iOS/Objective-C?

Together with an illustrator I want to create some screens with lots of animations/transitions (moving sprites). I need the illustrator to do the animation. He knows how to use AfterEffects so best would be some kind of timeline-tool to create the transitions/scalings/alphas etc.
My question is now: Is there some kind of tool out there that could be used to create animations and then export the used parameters to objective-c to import it to xcode?
Thanx!
To my knowledge: No.
We spend some time a couple of months back trying to find something similar to Expression blend, just for iOS, but without luck.
If you however are planing to make your app for MacOS and not iOS you can take a look at quartz composer. For iOS you could also take a look at storyboard (here is a link to fairly good tutorial), but I'm afraid your needs will not be met by the features of storyboard.
I found Flash2Cocos2D and I think this is the best solution available right now.
Also promissing: cocosbuilder!

How build a custom control in Xcode for the iPhone SDK?

I want to build a custom control to reuse in my project which consists of two UITextFields that are linked together + a label.
It is starting to become repetitive across my App and smells of code duplication ;)
However, I wonder what is the best aproach here.
Is it best do everything by code in a controller or is posible do a visual thing like the ones built-in in Xcode?
You can build an Interface Builder plug-in for this. It's fairly straight-forward. To get started, read the Interface Builder Plug-In Programming Guide. It even has a quick, step-by-step tutorial to get you started. Apple recommends creating a plug-in to IB for just your case...
I don't think this is possible. I briefly looked at the IB Plug-In Programming Guide and apparently Interface builder plugins are implemented through Custom Cocoa Frameworks. That is, your plugin is defined in a framework which is loaded in Interface Builder. IB looks in the current projects frameworks to find any custom components defined and will load plugins accordingly. It is not possible to use custom or third party frameworks on the iPhone so I don't see how IB would make a connection here. If somebody has more info I'd love to see this discussion continued.
This is fine except it is for the iPhone. The iPhone presents a more difficult environment to create the plug-in for interface builder. It should be possible but I have yet to see a Xcode project that does this. They are all limited to creation of desktop "AppKit" versions, not iPhone "UIKit" versions of the plugins for IB.