간단한 JtappleCalendar 터치(v8.0.3)
13994 단어 SwiftJTAppleCalendar
입문
간혹 터치JTAppleCalendar를 할 기회가 있고 기사를 집필할 때공식 강좌에 버전 7계를 기재했지만 버전 8.0.0 페이지에는 구체적인 사용 방법이 기술되지 않았다.
따라서 우리는 버전 8계의 간단한 처리를 총결하였다.
앞으로의 절차는 이 문장를 바탕으로 진행된다.
단계
사전 준비
적절한 항목을 만듭니다.이번에는 JTAppleCalendarSample
으로 만들었어요.
이번에는 코코패스로 Jtapple Calendar를 설치합니다.
이 글에는 버전이 설치되어 있습니다8.0.3
.
설치 방법은 기본 문장을 참조하십시오.
설치 후 열기 .xcworkspace
.
실시
부속품
항목을 열고 우선 부품을 설치하세요.Main.storyboard
UIVIew(주황색 배경)에 UICollectionView를 설치합니다.
요일의 부분에는 UILAbel이 적당히 배열되어 있다.
CollectionView의 사용자 정의 클래스는 "클래스"JTACMonthView
이고 모듈은 "JTAppleCalendar
이어야 합니다.
셀 경계를 표시하기 위해 최소 간격을 설정합니다.
셀 사용자 정의
캘린더 날짜 섹션 셀의 파일을 생성합니다.MainCalendarViewCell
의 클래스 이름, 상위 클래스를 입력하십시오JTACDayCell
.(버전 7은 JtappleCell)
XIB 파일을 동시에 작성합니다.
MainCalendarCell.xib
에서 Label은 종횡 중심에 설치됩니다.
셀과 셀의 경계를 명확하게 하기 위해 배경에 색을 넣었다.
셀의 사용자 지정 클래스를 MyCalendarViewCell
로 설정하고 Identifier를 MyCalendarViewCell
로 설정합니다.
실시 중 세 가지 일이 있다
1.import JTappleCalendar
2. MainCalendarViewCell.xib에 배치된 태그를 Outlet 연결합니다.
3. configure 만들기 방법 (달력 클래스에서 사용)
총결한 것은 아래와 같다.
MainCalendarViewCell.swiftimport UIKit
import JTAppleCalendar // 1
class MyCalendarViewCell: JTACDayCell {
@IBOutlet weak var titleLabel: UILabel! // 2
/// 3 セルの表示の設定をする
/// ex.ラベルに日にちを入れる
func configure(cellState: CellState) {
titleLabel.text = cellState.text
}
}
달력 보기
다음 단계는 달력 보기를 실현하는 것이다.
상속 UIVIew 클래스MyCalendarView.swift
를 생성합니다.
여기서 하는 일
1.import JTappleCalendar
2. Main.스토리보드에 설정된 달력 보기를 Outlet 연결합니다
3.delegate와 데이터소스 정의
4. 셀 등록
태그 요소의 표시 속성을 수정합니다.
MyCalendarView.swiftimport UIKit
import JTAppleCalendar // 1
class MyCalendarView: UIView {
@IBOutlet var calendarView: JTACMonthView! // 2
override func awakeFromNib() {
// 3 delegateとdetasourceの定義
calendarView.calendarDelegate = self
calendarView.calendarDataSource = self
// 4 MainCalendarCellの登録
let nibName = UINib(nibName: "MyCalendarViewCell", bundle:nil)
calendarView.register(nibName, forCellWithReuseIdentifier: "MyCalendarViewCell")
}
}
Delegate
위의 방법은 빈 기술에서도 이동하지만, 아래의 방법과 같은 코드를 써야 할 것 같다.
원인에 대해서는 여기 의 Problem1 을 참조하십시오.
MainCalendarView.swiftextension MyCalendarView: JTACMonthViewDelegate {
func calendar(_ calendar: JTACMonthView, willDisplay cell: JTACDayCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
let cell = cell as! MyCalendarViewCell
cell.configure(cellState: cellState)
}
// cellの設定
func calendar(_ calendar: JTACMonthView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTACDayCell {
let cell = calendar.dequeueReusableCell(withReuseIdentifier: "MyCalendarViewCell", for: indexPath) as! MyCalendarViewCell
cell.configure(cellState: cellState)
return cell
}
}
Datasoure
MainCalendarView.swiftextension MyCalendarView: JTACMonthViewDataSource {
// カレンダー作成に必要なパラメータの設定
func configureCalendar(_ calendar: JTACMonthView) -> ConfigurationParameters {
var current = Calendar.current
current.locale = Locale(identifier: "ja_JP")
current.timeZone = TimeZone(identifier: "Asia/Tokyo")!
let date = Date()
let startDate = date // 現在
let endDate = current.date(byAdding: .month,
value: +1,
to: current.startOfDay(for: date)) //1月後
let parameters = ConfigurationParameters(startDate: startDate,
endDate: endDate!,
numberOfRows: 5,
calendar: current,
firstDayOfWeek: .sunday)
return parameters
}
}
결과
이 작업을 수행하면 다음 화면에 달력이 표시됩니다.
끝내다
기본적으로 버전 7 계열과 사용법은 변화가 없다.
대상명이 바뀌었기 때문에 그곳은 주의가 필요한 것 같습니다.
인용하다
사전 준비
적절한 항목을 만듭니다.이번에는
JTAppleCalendarSample
으로 만들었어요.이번에는 코코패스로 Jtapple Calendar를 설치합니다.
이 글에는 버전이 설치되어 있습니다
8.0.3
.설치 방법은 기본 문장을 참조하십시오.
설치 후 열기
.xcworkspace
.실시
부속품
항목을 열고 우선 부품을 설치하세요.
Main.storyboard
UIVIew(주황색 배경)에 UICollectionView를 설치합니다.요일의 부분에는 UILAbel이 적당히 배열되어 있다.
CollectionView의 사용자 정의 클래스는 "클래스"
JTACMonthView
이고 모듈은 "JTAppleCalendar
이어야 합니다.셀 경계를 표시하기 위해 최소 간격을 설정합니다.
셀 사용자 정의
캘린더 날짜 섹션 셀의 파일을 생성합니다.
MainCalendarViewCell
의 클래스 이름, 상위 클래스를 입력하십시오JTACDayCell
.(버전 7은 JtappleCell)XIB 파일을 동시에 작성합니다.
MainCalendarCell.xib
에서 Label은 종횡 중심에 설치됩니다.셀과 셀의 경계를 명확하게 하기 위해 배경에 색을 넣었다.
셀의 사용자 지정 클래스를
MyCalendarViewCell
로 설정하고 Identifier를 MyCalendarViewCell
로 설정합니다.실시 중 세 가지 일이 있다
1.import JTappleCalendar
2. MainCalendarViewCell.xib에 배치된 태그를 Outlet 연결합니다.
3. configure 만들기 방법 (달력 클래스에서 사용)
총결한 것은 아래와 같다.
MainCalendarViewCell.swift
import UIKit
import JTAppleCalendar // 1
class MyCalendarViewCell: JTACDayCell {
@IBOutlet weak var titleLabel: UILabel! // 2
/// 3 セルの表示の設定をする
/// ex.ラベルに日にちを入れる
func configure(cellState: CellState) {
titleLabel.text = cellState.text
}
}
달력 보기
다음 단계는 달력 보기를 실현하는 것이다.
상속 UIVIew 클래스
MyCalendarView.swift
를 생성합니다.여기서 하는 일
1.import JTappleCalendar
2. Main.스토리보드에 설정된 달력 보기를 Outlet 연결합니다
3.delegate와 데이터소스 정의
4. 셀 등록
태그 요소의 표시 속성을 수정합니다.
MyCalendarView.swift
import UIKit
import JTAppleCalendar // 1
class MyCalendarView: UIView {
@IBOutlet var calendarView: JTACMonthView! // 2
override func awakeFromNib() {
// 3 delegateとdetasourceの定義
calendarView.calendarDelegate = self
calendarView.calendarDataSource = self
// 4 MainCalendarCellの登録
let nibName = UINib(nibName: "MyCalendarViewCell", bundle:nil)
calendarView.register(nibName, forCellWithReuseIdentifier: "MyCalendarViewCell")
}
}
Delegate
위의 방법은 빈 기술에서도 이동하지만, 아래의 방법과 같은 코드를 써야 할 것 같다.
원인에 대해서는 여기 의 Problem1 을 참조하십시오.
MainCalendarView.swift
extension MyCalendarView: JTACMonthViewDelegate {
func calendar(_ calendar: JTACMonthView, willDisplay cell: JTACDayCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
let cell = cell as! MyCalendarViewCell
cell.configure(cellState: cellState)
}
// cellの設定
func calendar(_ calendar: JTACMonthView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTACDayCell {
let cell = calendar.dequeueReusableCell(withReuseIdentifier: "MyCalendarViewCell", for: indexPath) as! MyCalendarViewCell
cell.configure(cellState: cellState)
return cell
}
}
Datasoure
MainCalendarView.swift
extension MyCalendarView: JTACMonthViewDataSource {
// カレンダー作成に必要なパラメータの設定
func configureCalendar(_ calendar: JTACMonthView) -> ConfigurationParameters {
var current = Calendar.current
current.locale = Locale(identifier: "ja_JP")
current.timeZone = TimeZone(identifier: "Asia/Tokyo")!
let date = Date()
let startDate = date // 現在
let endDate = current.date(byAdding: .month,
value: +1,
to: current.startOfDay(for: date)) //1月後
let parameters = ConfigurationParameters(startDate: startDate,
endDate: endDate!,
numberOfRows: 5,
calendar: current,
firstDayOfWeek: .sunday)
return parameters
}
}
결과
이 작업을 수행하면 다음 화면에 달력이 표시됩니다.
끝내다
기본적으로 버전 7 계열과 사용법은 변화가 없다.
대상명이 바뀌었기 때문에 그곳은 주의가 필요한 것 같습니다.
인용하다
기본적으로 버전 7 계열과 사용법은 변화가 없다.
대상명이 바뀌었기 때문에 그곳은 주의가 필요한 것 같습니다.
인용하다
Reference
이 문제에 관하여(간단한 JtappleCalendar 터치(v8.0.3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ta9yamakawa/items/850aada73153ba860ad9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)