Change UILabel.text to this:
public string text { get { return mText; } set { if (string.IsNullOrEmpty(value)) { if (!string.IsNullOrEmpty(mText)) mText = ""; hasChanged = true; } else if (mText != value) { mText = value; hasChanged = true; if (shrinkToFit) { MakePixelPerfect(); ProcessText(); } } } }