ackeecz / ackategories Goto Github PK
View Code? Open in Web Editor NEWSwift tools, cocoa subclasses and extensions.
License: MIT License
Swift tools, cocoa subclasses and extensions.
License: MIT License
It's possible to make UIColor from hex string, it would be useful to also have a method to make hex string from existing UIColor ๐
It is a while since Xcode supports multiplatform targets. This way we can merge ACKategoriesCore and ACKategories-iOS targets in Carthage project to make development a bit easier.
This way we can also simply add support for more platforms - tvOS, watchOS, visionOS, etc.
It would be necessary to check how Carthage handles such targets - we do not want to be forced to having e.g. visionOS simulator/SDK installed to be able to build for iOS.
On iOS 12 and lower, it is not supported to encode primitive values (such as String
, Int
or Codable
objects that encode to single value using singleValueContainer
) using JSONEncoder
, this means that referenced line, where Encodable
object is encoded, throws an error which is ignored.
So if I use code
final class Storage {
@UserDefault("key", default: nil)
var version: String?
}
let storage = Storage()
storage.version = "2.7.0"
Following error is thrown on iOS 12.4.1:
Swift.EncodingError.invalidValue(Optional("2.7.0"), Swift.EncodingError.Context(codingPath: [], debugDescription: "Top-level Optional<String> encoded as string JSON fragment.", underlyingError: nil))
This issue will remain present in old systems โก๏ธ https://bugs.swift.org/browse/SR-6163
I can think of multiple solutions:
JSON
- we would have to implement it as PropertyList
causes the same issue which is probably too much workUserDefaults
but we will never catch cases when Codable
object uses custom encode, that encodes object to singleValueContainer
Array
or Dictionary
(probably array would be better) so the encoder always has a root objectWhen changing dark mode settings, our uiImage.color()
extension doesn't respect that - return image.withTintColor(color)
on iOS 13 to address that.
As iOS 13 modals are not fullscreen and they can be closed by dragging, it would be necessary to check our logic of FlowCoordinator
s and then update them so especially flow coordinators that have a modally presented viewController as root, do not cause a leak.
Possible implementation might be using UIAdaptivePresentationControllerDelegate
in the same way we use UINavigationControllerDelegate
for UINavigationController
.
So we can use it natively instead of our hack ๐
Right now our view.safeArea
property works on all systems, when using deployment target iOS 11+, it is not necessary and we should probably prefer the native safeAreaLayoutGuide
.
So adding @available(iOS, deprecated: 11, renamed: "safeAreaLayoutGuide")
on UIView
and @available(iOS, deprecated: 13, renamed: "view.safeAreaLayoutGuide")
on UIViewController
should be added.
Currently we should be able to use the latest Xcode and we should also be able to reenable (disabled by #106) building Carthage artifact as XCFramework.
Right now if Localizable.strings
is not part of main app bundle, String.localized()
function doesn't work.
As TableHeaderFooterView
inherits from UIView
and not UITableViewHeaderFooterView
, its readableContentGuide
behaves differently from UITableViewCell
s.
It should definitely inherit from UITableViewHeaderFooterView
but I think it would be better to make this change somehow breaking as UITableViewHeaderFooterView
has e.g. defined background color. We should think about good breaking change that would force everyone to think about it.
As GradientView
is by design not user interactive, it should have isUserInteractionEnabled = false
. Add it to init as default.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.