Comments (5)
I wonder if it would be better to name these based on which coordinate space it's using. Something like:
/// Align to the position in the target view's superview's coordinate space, i.e. align to the target view's
/// bounds ignoring any origin offset. This is most commonly used when aligning sibling views in a hierarchy.
case targetSuperviewCoordinateSpace
/// Align to the position in the target view's coordinate space, i.e. align to the target view's bounds
/// including any origin offset. This is most commonly used when the target view is in the receiver's
/// superview chain.
case targetCoordinateSpace
from paralayout.
Should we drop the "target" prefix?
from paralayout.
I agree that repeating "target" in the enum case and case names feels repetitive, but I think it's correct when you read it out as a sentence.
sourceView.align(.rightCenter, to: targetView, .leftCenter, targetAlignmentBehavior: .targetSuperviewCoordinateSpace)
Align the source view's right center position to the target view's left center position in the target view's superview's coordinate space.
The "target" in the enum name says you're controlling how the target view's position is calculated. The "target" in the case name tells you which view's superview we're talking about.
Maybe I'm overcomplicating this? But I think when you write in out in a sentence like that it makes sense.
from paralayout.
That's a valid point. Perhaps we could change the parameter name to targeting:
from paralayout.
In practice I haven't heard anything about this causing confusion over the last year and a half, so I'm going to close this issue for now.
from paralayout.
Related Issues (20)
- Remove Hairline from the framework
- Add conveniences for creating interpolations of Floats and Double
- Add methods for interpolating between two CGRects
- Consider better name for ViewDistributionItem.collapsing(_:) HOT 6
- Add utilities for working with angles
- Some of the operators in the geometry additions have unclear behavior HOT 1
- Add convenience method to CGRect for getting position in a rect HOT 1
- Rename view sizing method to better align with existing UIKit names
- Rename non-mutating pixel rounding methods
- Improve support for handling layout directions
- Perform layout with bounds and center instead of frame
- Add distribution items for distributing a UILabel via its font bounds
- Improve alignment behavior around scroll views HOT 2
- Spreading subviews does not respect specified margin
- Spreading subviews does not respect specified value for sizeToBounds
- Converge on consistent preposition for describing alignment target HOT 1
- Paralayout positioning methods don't trigger updates to `safeAreaInsets` HOT 1
- View distribution still uses frame for orthogonal alignment HOT 1
- Horizontal view distribution works incorrectly in right-to-left layout
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 paralayout.