我通过可可豆荚使用FSCalender。我只想获得所选日期/月/年。我只收到当前日期。我得到这样的细节: -
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"dd.MM.yyyy";
NSString *string = [formatter stringFromDate:[NSDate date]];
NSLog(@"CurrentDate=%@",string);
在字符串中,我得到输出: - 的currentdate = 2017年2月8日
如何实现这一目标。提前谢谢。
答案 0 :(得分:1)
FSCalendar中有一个委托方法,用于此
// FSCalendarDelegate
- (void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date
{
// Do something
// get year , month and day of selected date.
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
NSInteger day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];
}
在这里,您将获得 NSDate 的对象,然后您可以将其转换为所需的格式。
请阅读此库FSCalendar
的完整文档要从日期获得日/月/年,您可以参考以下Stack overflow answer:
答案 1 :(得分:0)
有人可以解释如何将DidSelect Date传递给其他视图控制器吗?
'''
import SwiftUI
import FSCalendar
import Combine
struct CalendarController: UIViewControllerRepresentable {
func makeUIViewController(context:
UIViewControllerRepresentableContext<CalendarController>) -> calendars {
return calendars()
}
func updateUIViewController(_ uiViewController: calendars, context:
UIViewControllerRepresentableContext<CalendarController>) {
}
}
class calendars: UIViewController, FSCalendarDelegate {
var calendar = FSCalendar()
var selectedDate : Date?
override func viewDidLoad() {
super.viewDidLoad()
calendar.delegate = self
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
calendar.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height:
view.frame.size.width)
view.addSubview(calendar)
}
func calendar(_ calendar: FSCalendar, didDeselect date: Date, at
monthPosition: FSCalendarMonthPosition) {
self.selectedDate = date
}
}
struct CalendarView: View {
@Binding var text : String
var body: some View{
CalendarController().padding().frame(alignment: .top)
TextField("Enter ...", text: $text)
}
}
struct Calendar_Previews: PreviewProvider {
static var previews: some View {
CalendarView(text: .constant("Text"))
}
}
'''
我是在JS之后来到Swift的。 我仍然不明白为什么在xcode界面构建器工具中事情如此复杂。