Setting "Tighten Letter Spacing" on UILabel with shadow set with UIAppearance is broken

Originator:wangjammer5
Number:rdar://13960258 Date Originated:22-May-2013 03:40 PM
Status:Open Resolved:
Product:iPhone SDK Product Version:6.1
Classification:Serious Bug Reproducible:Always
 
Summary:

Setting a shadowOffset & shadowColor on UILabel using UIAppearance API results in wrong shadow offsets if "tighten letter spacing" is enabled on the UILabel.

Steps to Reproduce:

1. Open the attached project snapshot
2. Run the app on a device or simulator

Expected Results:

Red shadow to be 1 pixel below text on the label that shows it has tighten letter spacing ON.

Actual Results:

Red shadow is many pixels below the text on the label that shows it has tighten letter spacing ON. By comparison the UILabel that is also on screen with tighten spacing OFF is correct.

Both have shadow set using UIAppearance.

Regression:

Notes:

See attached project.

The only workaround I have found is to disabled tighten letter spacing, which is not good. OK, you could manually specify all shadows in IB instead of using UIAppearance too. 

This seems to only occur if using UIAppearance to set the shadow. If you set the shadow in IB and remove the UIAppearance code from the app delegate, it works as expected.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!