在Xamarin.iOS中实现TextLayer的垂直对齐

代码如下:

    public class SHLCTextLayer : CATextLayer {

        public SHLCTextLayer(IntPtr handle) : base(handle) {

        }

        public SHLCTextLayer() : base() {

        }

        public SHLCTextLayer(NSCoder coder) : base(coder) {

        }

        public SHLCTextLayer(NSObjectFlag t) : base(t) {

        }

        public override void DrawInContext(CGContext ctx) {
            try {
                var height = this.Bounds.Size.Height;
                var fontSize = this.FontSize;
                var yDiff = (height - fontSize) / 2 - fontSize / 10;

                ctx.SaveState();
                ctx.TranslateCTM((nfloat)0.0f, yDiff);
                base.DrawInContext(ctx);
                ctx.RestoreState();
            } catch (Exception e) {
                ErrorReporter.Report(e);
            }
        }

    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容