Comments (1)
I think this would be easily accomplished by creating a custom layout (possible name OffsetLayout
).
Something like this (incomplete implementation)
public class OffsetLayout: Layout {
public let offset: CGPoint
public let sublayout: Layout
public init(offset: CGPoint, sublayout: Layout, /* other standard parameters */) {
self.offset = offset
self.sublayout = sublayout
}
public func measurement(within maxSize: CGSize) -> LayoutMeasurement {
let measurement = sublayout.measure(within: maxSize)
return LayoutMeasurement(layout: self, size: measurement.size, maxSize: maxSize, sublayouts: [sublayout])
}
public func arrangement(within rect: CGRect, measurement: LayoutMeasurement) -> LayoutArrangement {
let offsetRect = CGRectOffset(rect, offset.x, offset.y)
let position = sublayout.arrangement(within: offsetRect, measurement: measurement)
return LayoutArrangement(layout: self, frame: rect, sublayouts: [offsetRect])
}
}
This would probably be appropriate to add as a base layout in LayoutKit.
Do you have an example of a layout where a percentage offset would be useful?
from layoutkit.
Related Issues (20)
- Using Custom UIControll callback event & flickery issue
- UIVisualEffectView not supported HOT 2
- Objective-C support HOT 3
- Compile error when using pod HOT 5
- StackLayout last item height seems wrong HOT 6
- Wrong LabelLayout height when using attributed string with kern and line height HOT 2
- Proportionally resizing subviews of vertical StackLayout with max height
- Using LayoutKit with `UITableViewDataSource` HOT 1
- Blurry UILabel HOT 3
- "See More" label & update animatiojn
- LabelLayout goes beyond screen width HOT 4
- Reference documentation is broken
- Not ready for Swift 4.2 HOT 13
- likes flutter ,ah!
- Make the designated initializers with a viewClass argument public
- can we build a layout kit like flutter?
- SizeLayout<CustomView> will not actually create a CustomView HOT 1
- Is Swift 5 support planned ? HOT 5
- iOS 13 Dark mode
- Do you still recommend LayoutKit HOT 4
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 layoutkit.