UIDatePicker styled Picker for selecting time spans
Objective-C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
MSCTimeSpanPicker.xcodeproj
MSCTimeSpanPicker
MSCTimeSpanPickerResources
.gitignore
LICENSE
MSCTimeSpanPicker.png
README.md

README.md

MSCTimeSpanPicker

Picker for selecting a time span using native UIPickerView. It's customizable using UIAppearance, localizable, brings it's own delegate for efficient and fast integration in exisiting projects and uses ARC.

Screenshot

Integration

MSCTimeSpanPicker *timeSpanPicker = [[MSCTimeSpanPicker alloc] init];
timeSpanPicker.delegate = self;
    
// Set the frame so that the MSCTimeSpanPicker appears on the bottom.
CGRect timeSpanPickerFrame = timeSpanPicker.frame;
timeSpanPickerFrame.origin.y = self.rootViewController.view.frame.size.height - timeSpanPickerFrame.size.height;
timeSpanPicker.frame = timeSpanPickerFrame;
    
[self.view addSubview:timeSpanPicker];

Add to your project

  1. Add MSCTimeSpanPicker.xcodeproj as subproject.
  2. Add MSCTimeSpanPicker's root folder to your project's header search paths.
  3. Add MSCTimeSpanPicker to your target's dependencies (Target >> Build Phases >> Target Dependencies).
  4. Add MSCTimeSpanPicker to your target's linked frameworks (Target >> Summary >> Linked Frameworks and Libraries).
  5. Add MSCTimeSpanPickerResources to your target's dependencies (Target >> Build Phases >> Target Dependencies).
  6. Add MSCTimeSpanPickerResources.bundle to your target's copied bundle resources (Drag the bundle from MSCTimeSpanPicker.xcodeproj/Products/ and drop it onto 'Target >> Build Phases >> Copy Bundle Resources').
  7. Import "MSCTimeSpanPicker.h" either in Prefix.pch or seperatly in any file you use it.

Delegate

"to" and/or "from" got changed by rotating one of the wheels.

- (void)timeSpanPicker:(MSCTimeSpanPicker *)timeSpanPicker selectedFrom:(NSDate *)from andTo:(NSDate *)to;

MSCTimeSpanPicker got dismissed by pressing the "Cancel" button

- (void)timeSpanPickerCancelled:(MSCTimeSpanPicker *)timeSpanPicker;

MSCTimeSpanPicker got dismissed by pressing the "Save" button

- (void)timeSpanPickerSaved:(MSCTimeSpanPicker *)timeSpanPicker;

Customizing using UIAppearance

MSCTimeSpanPicker only uses UIToolbar, UIBarButtonItem and UIPickerView so it's fully compatible to UIAppearance, e.g.:

[[UIToolbar appearanceWhenContainedIn:[MSCTimeSpanPicker class], nil] setBarStyle:UIBarStyleBlack];

Localization

MSCTimeSpanPicker is localizable using Localizable.strings contained in MSCTimeSpanPickerResources.bundle.

Credits

MSCTimeSpanPicker was created by Manfred Scheiner (@scheinem - scheinem.com).

License

MSCTimeSpanPicker is available under the MIT license. See the LICENSE file for more info. For usage without attribution contact Manfred Scheiner.