-
-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adaptation AppKit #78
base: master
Are you sure you want to change the base?
Conversation
# Conflicts: # ChatLayout/Classes/Core/ChatLayoutAttributes.swift # ChatLayout/Classes/Core/ChatLayoutInvalidationContext.swift # ChatLayout/Classes/Core/ChatLayoutSettings.swift # ChatLayout/Classes/Core/CollectionViewChatLayout.swift # ChatLayout/Classes/Core/Model/ItemKind.swift # ChatLayout/Classes/Core/Model/StateController.swift # ChatLayout/Classes/Extras/CellLayoutContainerView.swift # ChatLayout/Classes/Extras/ContainerCollectionReusableView.swift # ChatLayout/Classes/Extras/EdgeAligningView.swift # ChatLayout/Classes/Extras/Extensions/NSLayoutAnchor+Extension.swift # ChatLayout/Classes/Extras/Extensions/NSLayoutDimension+Extension.swift # ChatLayout/Classes/Extras/MessageContainerView.swift # ChatLayout/Classes/Extras/StaticViewFactory.swift # ChatLayout/Classes/Extras/SwappingContainerView.swift # Example/Tests/MockUICollectionViewUpdateItem.swift
@Mx-Iris Hey. Great job. Thank you as well. Ill review it later this week. But by when I see looks great. |
@ekazaev Thank you very much for your recognition. I think the main library is almost done. The example app is still being adapted and is expected to be completed this week. As for the documentation, you may need to make some modifications. |
@ekazaev I renamed all types with the UI prefix to NSUI today, without the prefix it might conflict with SwiftUI's type |
@ekazaev I found a very serious problem, the |
Here's a log, it just started working fine, but at one point the proposedContentOffset was less than the previous newProposedContentOffset, which seems to be the value of visibleBounds, and I'm now forcing the contentOffset to be set in the same way as the fix for iOS15, as the Returning directly doesn't work, and by the way, Catalyst doesn't seem to need this setting.
|
This is the log that doesn't force the contentOffset to be set
|
Based on a series of reverse engineering, I found that after the method Another issue is that, after this series of methods ends, calling invalidateLayout, and then returning to the initial method Welcome to discuss together, there is very little information and documentation about |
@Mx-Iris Hi. I am currently on my vacation. So sorry for making little input here. |
@ekazaev It's okay. Just leave it to me. |
@ekazaev Hi, I'm sorry for not updating the progress for so long. I've been very busy with work lately. I've been researching for a long time without any progress, so I've put it on hold for now. I tried submitting a DTS to Apple, but they asked me to provide a reproducible demo. I don't have time to make these. Currently, it seems that only this function has problems. You can review it first and let's consider these later. |
@ekazaev Because AppKit cannot customize layout margins, the demo looks a bit strange. I will make time to finish them. |
I tried to extend NSView with customizable layoutMargins, and the UI looks fine now. However, I found that the feature of scrolling to the bottom at launch in the demo is not working properly, so I am looking for a solution. |
@Mx-Iris Good luck. Emulate also pushing into the navigation controller. It also usually shows issues. |
Thank you very much for creating this repository, I really like to customize the collectionView using layout, UICollectionView and NSCollectionView are two very similar components, I did some adaptations to make it work on Mac, I'm going to write some test cases next, I have initially tested it to be able to run!