malcommac/Hydra 1933
⚡️ Lightweight full-featured Promises, Async & Await Library in Swift
malcommac/ImageSizeFetcher 444
Finds the type/size of an image given its URL by fetching as little data as needed
malcommac/Flow 424
Declarative approach to populate and manage UITableViews (see https://github.com/malcommac/FlowKit)
malcommac/DMLazyScrollView 295
Lazy Loading UIScrollView for iOS (with support for infinite scrolling)
malcommac/DMPagerViewController 283
DMPagerViewController is page navigation controller like the one used in Twitter or Tinder
A declarative type-safe framework for building fast and flexible list with Tables & Collection
malcommac/DMCircularScrollView 209
Infinite/Circular Scrolling Implementation for UIScrollView
Swipe To Reveal UITableViewCell Implementation as like in Twitter
New NSSplitView class with multiple subviews resize behaviors and animated transitions
malcommac/DMScrollingTicker 112
Advanced horizontal scrolling ticker for iOS
startedalexito4/slox
started time in 4 days
startedeu-digital-green-certificates/dgca-wallet-app-ios
started time in 4 days
startedeu-digital-green-certificates/dgca-verifier-app-ios
started time in 4 days
💻 A fast and flexible O(n) difference algorithm framework for Swift collection.
https://ra1028.github.io/DifferenceKit
fork in 7 days
fork malcommac/Leku
:earth_africa: Map location picker component for Android. Based on Google Maps. An alternative to Google Place Picker.
https://adevintaspain.github.io/Leku/
fork in 7 days
push eventmalcommac/SwiftMsgPack
commit sha 24328503d1587f5fad81ff78466e332ee6bb2c09
Support NSNull serialization
commit sha a79383425c597d5b37df7b62114633cd29acd6e9
Use tab indent instead of spaces
commit sha c8e24b27a2d7b023a1e9a892d75aa751d0b0026e
Merge pull request #7 from rinsuki/implement/handling-nsnull Support NSNull serialization
push time in a month
PR merged malcommac/SwiftMsgPack
sometimes I need to serialize NSNull to msgpack's null, but this library seems doesn't supporting NSNull, so I added NSNull handling.
pr closed time in a month
push eventmalcommac/ScrollingStackContainer
commit sha f5033200759dc6e1747fe76aa95a376abf8b33d6
Added link to ScrollStackController
push time in a month
created tagmalcommac/ScrollStackController
🧩 Easy scrollable layouts in UIKit
created time in a month
issue commentmalcommac/ScrollStackController
Fixed in 1.4.2. thanks!
comment created time in a month
push eventmalcommac/ScrollStackController
commit sha f52bd158987f0a1c263d08035b2e1f2e23ccf997
Merge tag '1.4.1' into develop 1.4.1
commit sha 75bdc2630c2bb52a0d222c31e34c369cb0cca64f
Merge branch 'master' into develop
commit sha 9ea4ad75f88c77f33a81a2fac5282fe1f88f2819
Added minimum iOS version to SPM description
commit sha 10bec3f0295636ca2f422e9e8620332ecd707318
Merge pull request #18 from eytanschulman/master Added minimum iOS version to SPM description
commit sha 39c4a34f813b41fee14ae40d1d5d7f2d1b95e276
Update Package.swift
commit sha 7e5aa46b62c5c9d87a8bd710655ca08ef1792d4f
Update .gitignore
commit sha 5daf8010a6bc4109c041a936d9622fa6b6c99c54
Add missing @discardableResult
commit sha f7eedf0c845e54261f7e9d5073a411a1c4949693
Update .gitignore
commit sha f19499a0a51f17a28e95d328dd6927105c97db99
Merge pull request #19 from rmnblm/develop @discardableResult in setRows/addRow/addRows, remove .swiftpm, cleanup of Package.swift
commit sha 48aac74e674575d2a7193174fddc648ba037612d
Fix protocol warning with class/AnyObject in Xcode 12.5+
commit sha 90b2db45567327dc33398217beb3de12ced9cd8a
Updated project settings
commit sha 1aec0c4001d922db76a363290d75b11b40da9077
fix #20: remove any fixed dimension constraint when using automatic sizing in row's contentView
commit sha 2ad28c383ea2a4ad20d07925f1e8401475c71c0b
fix #16: fix demo project
commit sha db64a5892704163860af3329146a22ac8888cc62
Fixed several issues on layout
commit sha 23d78fca7d7d2bff873edbd6d01286213e9d5d32
Updated podspec
commit sha ffe49f735697f4fd86e6b3b71f48ea6e0fb76683
Merge branch 'release/1.4.2'
push time in a month
issue closedmalcommac/ScrollStackController
Autosizing issue reusing a fixed-dimension controller
When you are adding a controller to the stack setting the size as fixed the library add an height/width constant constraint to setup desired dimension.
If you plan to reuse the controller instance or change the sizing from fixed to automatic dimension, applied constraint is kept in place and the autosizing is broken returning the wrong size for the contentView of the associated ScrollStackRow instance:
The solution is to remove any height/width constant constraints before re-adding the controller to the stack:
private func removeFixedDimensionConstraintsIfNeeded(_ contentView: UIView) {
let fixedDimensions = contentView.constraints.filter({
$0.firstAttribute == .height || $0.firstAttribute == .width
})
contentView.removeConstraints(fixedDimensions)
}
The method above is called when evaluating the dynamic size of the controller's contentView inside setupRowSizeToFitLayout() method of the ScrollStackRow.swift:
private func setupRowSizeToFitLayout() {
guard let stackView = stackView, let contentView = contentView else { return }
// If user changed the way of how the controller's view is resized
// (ie from fixed height to auto-dimension) we should need to remove
// attached constraints about height/width in order to leave the viww to
// auto resize according to its content.
removeFixedDimensionConstraintsIfNeeded(contentView)
var bestSize: CGSize!
if stackView.axis == .vertical {
let maxAllowedSize = CGSize(width: stackView.bounds.size.width, height: CGFloat.greatestFiniteMagnitude)
bestSize = contentView.systemLayoutSizeFitting(maxAllowedSize, withHorizontalFittingPriority: .required, verticalFittingPriority: .defaultLow)
} else {
let maxAllowedSize = CGSize(width: CGFloat.greatestFiniteMagnitude, height: stackView.bounds.size.height)
bestSize = contentView.systemLayoutSizeFitting(maxAllowedSize, withHorizontalFittingPriority: .defaultLow, verticalFittingPriority: .required)
}
setupRowToFixedValue(bestSize.height)
}
This solves the issue. It will be applied in 1.42.
closed time in a month
malcommacissue closedmalcommac/ScrollStackController
When building and running the demo project on Xcode 12.0 and iOS 13.5 or iOS 14.0:
- The Xcode debug console is filled with "Unable to simultaneously satisfy constraints" messages
- None of the child view controllers are shown and the six buttons at the bottom of the view don't work It looks like this was broken by the v1.4.1 release

closed time in a month
graemesipush eventmalcommac/ScrollStackController
commit sha ffe49f735697f4fd86e6b3b71f48ea6e0fb76683
Merge branch 'release/1.4.2'
commit sha 0d8e744503dce2ef7294fe92b598507be21c1a73
Merge tag '1.4.2' into develop 1.4.2
push time in a month
push eventmalcommac/ScrollStackController
commit sha 23d78fca7d7d2bff873edbd6d01286213e9d5d32
Updated podspec
push time in a month
push eventmalcommac/ScrollStackController
commit sha db64a5892704163860af3329146a22ac8888cc62
Fixed several issues on layout
push time in a month
push eventmalcommac/ScrollStackController
commit sha 2ad28c383ea2a4ad20d07925f1e8401475c71c0b
fix #16: fix demo project
push time in a month
push eventmalcommac/ScrollStackController
commit sha 1aec0c4001d922db76a363290d75b11b40da9077
fix #20: remove any fixed dimension constraint when using automatic sizing in row's contentView
push time in a month
issue openedmalcommac/ScrollStackController
Autosizing issue reusing a fixed-dimension controller
When you are adding a controller to the stack setting the size as fixed the library add an height/width constant constraint to setup desired dimension.
If you plan to reuse the controller instance or change the sizing to automatic constraint is kept in place and the autosizing is broken returning the wrong size.
The solution is to remove any height/width constant constraints before re-adding the controller to the stack.
private func removeFixedDimensionConstraintsIfNeeded(_ contentView: UIView) {
let fixedDimensions = contentView.constraints.filter({
$0.firstAttribute == .height || $0.firstAttribute == .width
})
contentView.removeConstraints(fixedDimensions)
}
The method above is called when evaluating the dynamic size of the controller's contentView inside setupRowSizeToFitLayout() method of the ScrollStackRow.swift:
private func setupRowSizeToFitLayout() {
guard let stackView = stackView, let contentView = contentView else { return }
// If user changed the way of how the controller's view is resized
// (ie from fixed height to auto-dimension) we should need to remove
// attached constraints about height/width in order to leave the viww to
// auto resize according to its content.
removeFixedDimensionConstraintsIfNeeded(contentView)
var bestSize: CGSize!
if stackView.axis == .vertical {
let maxAllowedSize = CGSize(width: stackView.bounds.size.width, height: CGFloat.greatestFiniteMagnitude)
bestSize = contentView.systemLayoutSizeFitting(maxAllowedSize, withHorizontalFittingPriority: .required, verticalFittingPriority: .defaultLow)
} else {
let maxAllowedSize = CGSize(width: CGFloat.greatestFiniteMagnitude, height: stackView.bounds.size.height)
bestSize = contentView.systemLayoutSizeFitting(maxAllowedSize, withHorizontalFittingPriority: .defaultLow, verticalFittingPriority: .required)
}
setupRowToFixedValue(bestSize.height)
}
This solves the issue.
created time in a month
push eventmalcommac/Glider
commit sha 65933717e5d76f228a551cccb0f172728dd34c9e
fix podspec
push time in a month
push eventmalcommac/Glider
commit sha de0ba08fca691d7029abe148524ef04663356627
fix podspec
commit sha 1d4c7e451789e2cc7fcb32fe958eb9ab8073d7ca
fix podspec
push time in a month
created tagmalcommac/Glider
✈️ Lightweight yet powerful logging library. It's the Winston.js for Swift!
created time in a month
push eventmalcommac/Glider
commit sha a144802001b27be57793279ee5b0ed553ea3c506
Fixed podspec
commit sha 8998e83a6c97dee3e687ad1db58fc962ba2841e1
Fix dependency podspec
push time in a month