我是IOS新手,创建自定义日历,如果用户选择任何日期,应用程序将重定向到另一个viewController。
我使用此链接创建日历: https://github.com/Akhilendra/calenderAppiOS
我已经与代表一起完成了,但我无法弄清楚我做错了什么。
我的代码:
uri
现在问题是,当我点击日期时,什么都不会发生。
答案 0 :(得分:0)
在这种情况下,最好使用故事板,然后控制 - 将集合视图拖到第二个视图控制器。由于除了呈现视图控制器之外,您不会将代理用于其他任何事情,因此您可以将其除掉。
答案 1 :(得分:0)
代表用于其他情况。在这种情况下,没有必要。此外,您不需要将UIView符合Delegates和DataSource,因为它与MVC相矛盾。相反,将日历视图(集合视图)放在UIViewController中并使该控制器符合实现方法。
你应该这样做:
class CalenderViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
var calenderView: UICollectionView!
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath)!
cell.backgroundColor = Colors.darkRed
let lbl = cell.subviews[1] as! UILabel
lbl.textColor = UIColor.yellow
let calcDate = indexPath.row - firstWeekDayOfMonth + 2
openAppointmentDetails()
}
func openAppointmentDetails() {
let appointmentVC = storyboard?.instantiateViewController(withIdentifier: "appointmentDetailsVC") as! AppointmentDetailsViewController
navigationController?.pushViewController(appointmentVC, animated: true)
}
}
答案 2 :(得分:0)
我解决了这个问题。我忘了添加calenderView.delegate = self 在ViewController的viewDidLoad()方法
中以及openAppointmentDetails()
中的更改这是变化。
select * from number where Column_X <> 6
}