Git Product home page Git Product logo

ackategories's People

Contributors

ackdom avatar anisibor avatar fortmarek avatar igorrosocha avatar janmisar avatar josefdolezal avatar leinhauplk avatar lukasackee avatar lukashromadnik avatar michalsrutek avatar nadvitek avatar olejnjak avatar pteasima avatar vendulasvastal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ackategories's Issues

UIColor to hex string

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 ๐Ÿ™

Multiplatform target

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.

`UserDefault` property wrapper doesn't work on iOS 12

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:

  • use different encoder/decoder than JSON - we would have to implement it as PropertyList causes the same issue which is probably too much work
  • constraint our implementation for iOS 13+ as we might be able to check for supported types in UserDefaults but we will never catch cases when Codable object uses custom encode, that encodes object to singleValueContainer
  • we could wrap the encoded value to Array or Dictionary (probably array would be better) so the encoder always has a root object

let data = try? encoder.encode(newValue)

iOS 13 modals and `FlowCoordinator`s

As iOS 13 modals are not fullscreen and they can be closed by dragging, it would be necessary to check our logic of FlowCoordinators 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.

Deprecate `view.safeArea` on iOS 11+

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.

public var safeArea: UILayoutGuide {

TableHeaderFooterView should inherit from UITableViewHeaderFooterView

As TableHeaderFooterView inherits from UIView and not UITableViewHeaderFooterView, its readableContentGuide behaves differently from UITableViewCells.

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.

open class TableHeaderFooterView: UIView {

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.