Notification: Since I’ve made the tutorial I have updated the sample project and also BBSlider (the links above reference the updated versions). Now you can rotate and scale the slider as you please, it continuos to work. That means that you don’t have to specify if your slider is vertical or horizontal. Just make a horizontal slider, and if you want a vertical one, just rotate it 90 degrees.
I’ve also changed the BBSlider. The boolean isRolling is gone. It is always rolling! Instead I have introduced three callback functions called beginCall, moveCall and endCall, which give you maximal control of what the user does. You create the slider using a method that requires 6 parameters: delegate, selector, backgroundImage thumbImage, min and max. Once created you can tweak the slider with 5 different properties: value, leeway, offset, beginCall and endCall. Since BBSlider is a node, you can also change its position, rotate it, scale it and so on. For details look at the comments in BBSlider.h. If you have any idea how this can be made simpler or more user friendly, please comment.
Notification: The technique I’ve used for BBSlider (mainly delegate, selector and TargetedTouchDispatcher) can be used for other user interface elements like checkboxes, radio buttons, etc. For instance to make a check box you could use the BBCheckBox class. There is a checkbox sample project which shows how you can use it.