The debug view hierarchy
is a great way to view they different layers that make up the UI
, but as far as I can't tell there is no way to see what outlet reference names the objects have. They are simply referred to as what type of object they are. For example, a button is just refered to as UIButton
rather than the name of the outlet. Yes, it's possible to see in what viewController
it resides, but it' not foolprof and it can still be very hard to track down certain objects.
So, is there a way to see what the reference outlets of the objects are called?
UIView.accessibilityIdentifier
does that trick.
For NSLayoutConstraints
, its description in warning log (or po constraint
) contains more details after set UIView.accessibilityIdentifer
.
Before set accessibilityIdentifier
, it's something like
<NSLayoutConstraint: 0x6000037766c0 UILayoutGuide: 0x600002d6c620'UIViewSafeAreaLayoutGuide'.trailing == UILabel: 0x7fee70712780.trailing + 132 (active)>
After set accessiblityIdentifier
,
<NSLayoutConstraint:0x6000037766c0 UILayoutGuide:0x600002d6c620'UIViewSafeAreaLayoutGuide'.trailing == First-ID.trailing + 132 (active, names: First-ID:0x7fee70712780 )>
For view debugger, you can check accessibilityIdentifier
as follows
No, there is not (unfortunately).
The information is not maintained at runtime to my knowledge, so you also won't be able to use lldb from Xcode's console to figure it out.
Probably worth a feature request to Apple! https://feedbackassistant.apple.com/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With