美文网首页xamarin开发技术Xamarin.Forms
在Xamarin.iOS中实现TextLayer的垂直对齐

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

作者: 临岁之寒 | 来源:发表于2019-08-18 10:27 被阅读7次

    代码如下:

        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);
                }
            }
    
        }
    

    相关文章

      网友评论

        本文标题:在Xamarin.iOS中实现TextLayer的垂直对齐

        本文链接:https://www.haomeiwen.com/subject/kzqrsctx.html