private static NSMutableAttributedString AsAttributedString(this ProjectSpan projectSpan)
        {
            var projectColor = MvxColor.ParseHexString(projectSpan.ProjectColor).ToNativeColor();

            var projectNameString = projectSpan.ProjectName;

            if (!string.IsNullOrEmpty(projectSpan.TaskName))
            {
                projectNameString = $"{projectNameString}: {projectSpan.TaskName}";
            }

            var textAttachment = new ProjectTextAttachment(
                projectNameString, projectColor, tokenFont);

            var tokenString = new NSMutableAttributedString(NSAttributedString.FromAttachment(textAttachment));
            var attributes  = createBasicAttributes();

            attributes.Dictionary[ProjectId]    = new NSNumber(projectSpan.ProjectId);
            attributes.Dictionary[ProjectName]  = new NSString(projectSpan.ProjectName);
            attributes.Dictionary[ProjectColor] = new NSString(projectSpan.ProjectColor);
            if (projectSpan.TaskId.HasValue)
            {
                attributes.Dictionary[TaskId]   = new NSNumber(projectSpan.TaskId.Value);
                attributes.Dictionary[TaskName] = new NSString(projectSpan.TaskName);
            }

            tokenString.AddAttributes(attributes, new NSRange(0, tokenString.Length));

            return(tokenString);
        }
        private static NSMutableAttributedString AsAttributedString(this ProjectSpan projectSpan)
        {
            var projectColor = MvxColor.ParseHexString(projectSpan.ProjectColor).ToNativeColor();
            var projectName  = new NSAttributedString(projectSpan.ProjectName.TruncatedAt(maxTextLength), new UIStringAttributes
            {
                Font            = tokenFont,
                ForegroundColor = projectColor
            });

            var textAttachment = new ProjectTextAttachment(
                projectName, projectColor, textVerticalOffset, regularFont.Descender
                );

            var tokenString = new NSMutableAttributedString(NSAttributedString.FromAttachment(textAttachment));
            var attributes  = createBasicAttributes();

            attributes.Dictionary[ProjectId]    = new NSNumber(projectSpan.ProjectId);
            attributes.Dictionary[ProjectName]  = new NSString(projectSpan.ProjectName);
            attributes.Dictionary[ProjectColor] = new NSString(projectSpan.ProjectColor);
            if (projectSpan.TaskId.HasValue)
            {
                attributes.Dictionary[TaskId]   = new NSNumber(projectSpan.TaskId.Value);
                attributes.Dictionary[TaskName] = new NSString(projectSpan.TaskName);
            }

            tokenString.AddAttributes(attributes, new NSRange(0, tokenString.Length));

            return(tokenString);
        }