Skip to content

Feature Request: Add support for multi-line floating labels and Dynamic Type #222

@parrotbait

Description

@parrotbait

The current version of the textField doesn't support Dynamic Type. To do this it would need to ensure that a scaled variant of a UIFont is used for the floating label (or opt-in somehow), can use numberOfLines == 0, word wraps and also sets adjustsFontForContentSizeCategory = YES.

Typically a single line for the floating label is fine but when using Dynamic Type and especially in the larger Accessibility content sizes, a single line will truncate too much of the label - which should be fully visible to users at all times. So it ideally should be possible for it to span multiple lines. This causes layouts and constraints in the example project to break, the floating label overlaps with the textfield content and doesn't resize properly.
I believe that the layouts shouldn't assume that the height of the floating label is equal to the _floatingLabel.font.lineHeight however just replacing that everywhere with _floatingLabel.frame.size.height doesn't correctly adjust the textfield content for the floating label. The example project also assumes that the textfield height is 44. I also tried to change this but was unsuccessful.

Unfortunately, I've managed to get it working on an older version of the library but it's diverged too much from the current version to be able to create a PR.

Simulator Screen Shot - iPod touch (7th generation) - 2021-05-26 at 10 12 48

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions