Skip to content

iOS calendar-inspired simple mini week view to swipe through weeks and tap on days

License

Notifications You must be signed in to change notification settings

nighthawk/ASWeekSelectorView

Repository files navigation

ASWeekSelectorView

CocoaPod badge w/ platform GitHub release (latest by date) CocoaPod badge w/ version GitHub all releases

A mini week view to select a day. You can swipe through weeks and tap on a day to select them, somewhat similar to the iOS calendar app (since iOS 7).

It's using the methodology described in Apple's excellent WWDC 2011 session 104 "Advanced ScrollView Techniques".

Week selector

Setup

  1. Add to your project.

Using Swift Package Manager:

.package(url: "https://github.com/nighthawk/ASWeekSelectorView.git", from: "1.0.0")

Using Cocoapods:

pod 'ASWeekSelectorView', '~> 1.0'
  1. Add an instance of ASWeekSelectorView to your view hierarchy, configure it, provide a delegate and implement the delegate smethod. (Note that you won't need to use ASDaySelectionView and ASSingleWeekView yourself - they are internal helper class.)

  2. When using Auto Layout, adjust the frame in viewWillLayoutSubviews:

override func viewWillLayoutSubviews() {
  super.viewWillLayoutSubviews()
  weekSelector.frame.size.width = self.view.frame.width
}
- (void)viewWillLayoutSubviews
{
  [super viewWillLayoutSubviews];
  
  CGRect frame = self.weekSelector.frame;
  frame.size.width = CGRectGetWidth(self.view.frame);
  self.weekSelector.frame = frame;
}

Example

See the included example project for a very basic implementation.

About

iOS calendar-inspired simple mini week view to swipe through weeks and tap on days

Resources

License

Stars

Watchers

Forks

Packages

No packages published