Comments (19)
@jfbomber You can see the fix code in zkhCreator#1
from calendarview.
i'am facing the same issue the style part of calendar is not working.
let style = CalendarView.Style()
style.cellShape = .round
style.cellColorDefault = UIColor.clear
style.cellTextColorDefault = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
style.cellColorToday = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
style.cellTextColorToday = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
style.headerTextColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
style.headerBackgroundColor = UIColor.white
style.cellEventColor = UIColor.clear
style.cellTextColorWeekend = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
style.firstWeekday = .sunday
style.weekdaysBackgroundColor = UIColor.white
style.cellColorOutOfRange = #colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
style.cellSelectedBorderColor = UIColor(red: 193.0/255.0, green: 165.0/255.0, blue: 139.0/255.0, alpha: 1.0);
style.cellSelectedColor = UIColor(red: 193.0/255.0, green: 165.0/255.0, blue: 139.0/255.0, alpha: 1.0);
style.cellSelectedTextColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
style.cellSelectedBorderWidth = 1.0
from calendarview.
@jibrank Have you had any luck updating it?
I have tried editing the project code but it seems to be something with the update of the UICollectionView on iOS 15.
from calendarview.
@jfbomber I find the problem.
In apple's document, they said:
You typically do not set the value of this property directly. Changing the value of this property programmatically does not change the appearance of the cell. The preferred way to select the cell and highlight it is to use the selection methods of the collection view object.
and in Calender, it called cell.isSelected and force reload the collectoinView.
It makes UICollectionView didn't show the style of the cell.
If you want to fix it, you can change these things. Like disable selectionStyle and create a new method for cell to update style.
And if you want to use multiSelection, you can set the collectionView's multiSelection property.
from calendarview.
@zkhCreator I integrated your code, still it's not showing Selected Cells Border :( .
from calendarview.
@nik6018 It did work for me. I just used his forked version of the branch
pod 'KDCalendar', :git => 'https://github.com/zkhCreator/CalendarView'
from calendarview.
@jfbomber Thanks for informing. @zkhCreator Can you please confirm if any more changes are needed to be included other than the commit mentioned in the above comment ?
from calendarview.
@nik6018 the border color is ok in my repo.
Maybe you should use the master branch, don't copy the merge request code, because I fix some bug not in the merge request.
here is the screenshoot.
from calendarview.
@zkhCreator seems like you correct the issue , but you forget to upgrade the s.version in "KDCalendar.podspec", so when users try to update pods, cocoapods can't recognise that a new version is available.
upgrade the version number "KDCalendar.podspec", then users can update the pod
from calendarview.
@khedheri you can use my repo's master branch, because of my repo is not the main repo of Calendar repo.If I update the podspec, it will influence the version of main repo
from calendarview.
EDIT :
After further inspection it seems like if I make the allowSelection
property on CalendarView
false programmatic selection doesn't work (it used to work on pre-iOS15).
My requirement is a bit unusual as in I want programmatic selection but disable selection via user input :(
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
@zkhCreator I tried by downloading your master branch but still I am not getting the result I want :(
If I wasn't clear I am trying to select the date programmatically using calendarView.selectDate(_:)
method and want to display a border around the selected cell.
Selecting the dates by directly tapping on the Calendar View is working as expected, but in my case I only want to select the dates programmatically.
While checking the class CalendarDayCell
the isSelected
computed property contains the following lines
switch isSelected {
case true:
self.bgView.layer.borderColor = style.cellSelectedBorderColor.cgColor
self.bgView.layer.borderWidth = style.cellSelectedBorderWidth
self.bgView.backgroundColor = style.cellSelectedColor
The color & border color applied on the bgView
doesn't show for some reason, if dates are selected programmatically.
But If I copy the above 3 lines and put them in the updateTextColors()
method inside the isSelected
if condition, then selected cell border color shows properly like before iOS 15.
Any idea why this is the case ?
from calendarview.
@zkhCreator thank you so much for fixing the code
from calendarview.
@zkhCreator i used your code but few things are not working as it was working before
from calendarview.
@nik6018 you can use this, it has same functionalities
https://github.com/WenchaoD/FSCalendar
from calendarview.
iOS 15.3 issue was solved, but why, iOS 15.3 just security update
from calendarview.
https://stackoverflow.com/a/31387259
dayCell.isSelected = selectedIndexPaths.contains(indexPath)
if dayCell.isSelected {
collectionView.selectItem(at: indexPath, animated: true, scrollPosition: .centeredHorizontally)
}
from calendarview.
Please write a RP. Thank you.
from calendarview.
@mmick66
I see a new working PR which fixed the issue. So you can choose which one is better. I vote for andygeers/ios15 version. So, do you still need my PR?
Merge pull request #143 from andygeers/ios15 2e677a0 Michael Michailidis [email protected] 7 дек. 2022 г., 16:45
from calendarview.
Here is a PR with my lines above
from calendarview.
Related Issues (20)
- Cell Font HOT 2
- There is an issue when startDate and endDate are in the same month.
- isToday text color issue *FIX* HOT 2
- How can I show only Sunday dates.. Remaining dates should be disabled .
- How can i disable scroll? HOT 1
- Day disappear HOT 1
- negative or zero item sizes are not supported in the flow layout HOT 1
- Missing Purpose String HOT 1
- calendarView.selectDate(Date()) displaying UTC time not Calendar.current HOT 1
- End date not taken into account when only one month(one index) HOT 1
- Start date cannot be later than end date.
- goToNextMonth() skips to two months ahead HOT 1
- Persian Calendar
- Code initialization problem
- can change background colour cell for specific date
- Adding events... HOT 1
- does not conform to protocol 'CalendarViewDataSource' HOT 1
- failing while pod install
- Multi date selection got a bug
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from calendarview.