-
Notifications
You must be signed in to change notification settings - Fork 176
Added layout guide option to notification presentation #2215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Added layout guide option to notification presentation #2215
Conversation
Can an example of a notification using the |
/// - anchorView: The view used as the bottom anchor for presentation | ||
/// (notification view is always presented up from the anchor). When no anchor view is provided the | ||
/// bottom anchor of the container's safe area is used. | ||
/// - layoutGuide: The layout guide used to present the toast inside of when no `anchorView` is provided |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will adding this parameter cause any problems for our Objective-C clients?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think objC just ignores default parameters and forces us to add a value. I'm personally mixed as to whether that mismatch has enough practical badness to cause us to avoid it iff we feel there is substantial benefit to swift consumers of the API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ya this should be fine for our existing clients since they can still use the old method with fewer params since objC will require all parameters to be filled
/// Can be used to call `hide` with a delay. | ||
@objc public func show(in view: UIView, | ||
from anchorView: UIView? = nil, | ||
with layoutGuide: UILayoutGuide? = nil, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor: preference - I've tended away from using argument labels (i.e. with
). For some small cases it helps make things more natural, but especially in functions like this with a lot of parameters, it tends to remove some clarity in the caller in how the parameter is being used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed; I'd like to redo the MSFNotification API entirely one of these days (for lots of reasons, but this is one of them).
/// - anchorView: The view used as the bottom anchor for presentation | ||
/// (notification view is always presented up from the anchor). When no anchor view is provided the | ||
/// bottom anchor of the container's safe area is used. | ||
/// - layoutGuide: The layout guide used to present the toast inside of when no `anchorView` is provided |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we describe "how" the layout guide is used? Which part of the notification is aligned with the layout guide? And probably worth explaining what happens if both an anchorView
and a layoutGuide
are provided
/// - anchorView: The view used as the bottom anchor for presentation | ||
/// (notification view is always presented up from the anchor). When no anchor view is provided the | ||
/// bottom anchor of the container's safe area is used. | ||
/// - layoutGuide: The layout guide used to present the toast inside of when no `anchorView` is provided |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think objC just ignores default parameters and forces us to add a value. I'm personally mixed as to whether that mismatch has enough practical badness to cause us to avoid it iff we feel there is substantial benefit to swift consumers of the API
Platforms Impacted
Description of changes
Added the ability to present notifications relative to a layout guide when there is no anchor view provided.
Verification
Verified by creating a layout guide in the test app to present the notification higher than it normally would present.
Pull request checklist
This PR has considered:
Microsoft Reviewers: Open in CodeFlow