[翻译] JTCalendar
JTCalendar
?
JTCalendar is a calendar control for iOS easily customizable.
JTCalendar 是一個很容易定制的日歷的控件。
?
Usage
Basic usage - 基本使用方法
You have to create two views in your UIViewController.
你需要在你的UIViewController創建出兩個view。
The first view is?JTCalendarMenuView, it represents the months.
第一個view是JTCalendarMenuView,他代表著月份。
The second view is?JTCalendarContentView, the calendar itself.
第二個view是JTCalendarContentView,這個是日歷本身。
Your UIViewController must implement?JTCalendarDataSource
你的UIViewController 必須實現JTCalendarDataSource代理。
#import <UIKit/UIKit.h>#import "JTCalendar.h" @interface ViewController : UIViewController<JTCalendarDataSource> @property (weak, nonatomic) IBOutlet JTCalendarMenuView *calendarMenuView; @property (weak, nonatomic) IBOutlet JTCalendarContentView *calendarContentView; @property (strong, nonatomic) JTCalendar *calendar; @endJTCalendar?is used to coordinate?calendarMenuView?and?calendarContentView.
JTCalendar?是用來定位calendarMenuView與?calendarContentView的。
@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];self.calendar = [JTCalendar new]; [self.calendar setMenuMonthsView:self.calendarMenuView]; [self.calendar setContentView:self.calendarContentView]; [self.calendar setDataSource:self]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self.calendar reloadData]; // Must be call in viewDidAppear } - (BOOL)calendarHaveEvent:(JTCalendar *)calendar date:(NSDate *)date { return NO; } - (void)calendarDidDateSelected:(JTCalendar *)calendar date:(NSDate *)date { NSLog(@"%@", date); } @end?
Switch to week view
切換到week
If you want see just one week at time you can switch when you want between the weekMode.
如果你只想看一周的時間,你可以切換到weekMode模式
self.calendar.calendarAppearance.isWeekMode = YES; [self.calendar reloadAppearance];?
WARNING
注意
When you change the mode, it doesn't change the height of?calendarContentView, you have to do it yourself. See the project in example for more details.
當你切換樣式時,他并沒有改變calendarContentView的高度,你需要自己手動設置。你可以在項目中找到實現細節。
?
Customize the design
自定義設計
You have a lot of options available for personnalize the design. Check the?JTCalendarAppearance.h?file for see all options.
你有這很多很多的選項來定制設計。你可以再JTCalendarAppearance.h文件中找到這些配置選項。
self.calendar.calendarAppearance.calendar.firstWeekday = 2; // Monday self.calendar.calendarAppearance.ratioContentMenu = 1.; self.calendar.calendarAppearance.menuMonthTextColor = [UIColor whiteColor]; self.calendar.calendarAppearance.dayCircleColorSelected = [UIColor blueColor]; self.calendar.calendarAppearance.dayTextColorSelected = [UIColor whiteColor]; [self.calendar reloadAppearance];?
Recommendation
推薦用法
The call to?reloadAppearance?is expensive,?reloadAppearance?is call by?setMenuMonthsView?andsetContentView.
調用reloadAppearance?開銷很大,setMenuMonthsView?與andsetContentView會調用reloadAppearance?方法
For better performance define the appearance just after instanciate?JTCalendar.
BAD example:
self.calendar = [JTCalendar new];[self.calendar setMenuMonthsView:self.calendarMenuView]; [self.calendar setContentView:self.calendarContentView]; [self.calendar setDataSource:self]; self.calendar.calendarAppearance.calendar.firstWeekday = 2; // Monday self.calendar.calendarAppearance.ratioContentMenu = 1.; self.calendar.calendarAppearance.menuMonthTextColor = [UIColor whiteColor]; self.calendar.calendarAppearance.dayCircleColorSelected = [UIColor blueColor]; self.calendar.calendarAppearance.dayTextColorSelected = [UIColor whiteColor]; [self.calendar reloadAppearance]; // You have to call reloadAppearanceGOOD example:
self.calendar = [JTCalendar new];self.calendar.calendarAppearance.calendar.firstWeekday = 2; // Monday self.calendar.calendarAppearance.ratioContentMenu = 1.; self.calendar.calendarAppearance.menuMonthTextColor = [UIColor whiteColor]; self.calendar.calendarAppearance.dayCircleColorSelected = [UIColor blueColor]; self.calendar.calendarAppearance.dayTextColorSelected = [UIColor whiteColor]; [self.calendar setMenuMonthsView:self.calendarMenuView]; [self.calendar setContentView:self.calendarContentView]; [self.calendar setDataSource:self]; // You don't have to call reloadAppearanceYou may also want to open your calendar on a specific date, by defaut it's?[NSDate date].
你也許想在打開日歷的時候定位到指定的日期,默認值是[NSDate date]
[self.calendar setCurrentDate:myDate];Requirements
- iOS 7 or higher
- Automatic Reference Counting (ARC)
?
轉載于:https://www.cnblogs.com/YouXianMing/p/4093660.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的[翻译] JTCalendar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Phoenix Tips (12) 跟踪
- 下一篇: 网站自行备案流程