首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在NSTextField中设置文本垂直中心

在NSTextField中设置文本垂直中心,可以通过以下方法实现:

  1. 使用NSAttributedString设置文本的垂直对齐方式:
代码语言:swift
复制
let textField = NSTextField()
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .center
paragraphStyle.lineBreakMode = .byWordWrapping
paragraphStyle.baseWritingDirection = .natural
paragraphStyle.lineSpacing = 2.0
paragraphStyle.paragraphSpacing = 2.0
paragraphStyle.firstLineHeadIndent = 0.0
paragraphStyle.headIndent = 0.0
paragraphStyle.tailIndent = 0.0
paragraphStyle.minimumLineHeight = 16.0
paragraphStyle.maximumLineHeight = 16.0
let attributedString = NSAttributedString(string: "Hello World", attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
textField.attributedStringValue = attributedString
  1. 使用NSLayoutManager和NSTextContainer设置文本的垂直对齐方式:
代码语言:swift
复制
let textField = NSTextField()
let layoutManager = NSLayoutManager()
let textContainer = NSTextContainer(size: textField.bounds.size)
textContainer.widthTracksTextView = true
textContainer.heightTracksTextView = true
textContainer.maximumNumberOfLines = 1
textContainer.lineBreakMode = .byWordWrapping
textContainer.lineFragmentPadding = 0.0
layoutManager.addTextContainer(textContainer)
textField.textContainer = textContainer
textField.layoutManager = layoutManager
textField.textContainerInset = NSSize(width: 0, height: 0)
textField.isEditable = false
textField.isSelectable = false
textField.isBezeled = false
textField.drawsBackground = false
textField.stringValue = "Hello World"

以上两种方法都可以实现在NSTextField中设置文本垂直中心。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android开发笔记(十六)秋千摇摆动画SwingAnimation

    上节博主介绍了AlphaAnimation和淡入淡出动画的使用,其实AlphaAnimation只是四种补间动画中的一种。那么为了加深对其他补间动画的理解,我想说说旋转动画RotateAnimation的使用,刚好工作中就有类似的应用场景,正好介绍一下。像我们生活中有许多左右摇摆的画面,比如说老式挂钟的钟摆围绕着竖轴左右摇摆,又比如说公园里人们坐在秋千上荡来荡去,这么一想,嗯,这左右摇摆的秋千动画确实贴近生活。 如果我们把钟摆或者秋千想象成一个线段,这个线段以上面的端点为圆心,先从垂直向下的角度向左旋转;转到一定角度,再向右旋转,同样旋转摆到左边的高度;接着再向左旋转,等到这个线段摆到垂直向下时,就完成了摇摆动作的一个循环。这么看,摇摆动画似乎与旋转动画有些关联,再仔细想想,这摇摆动画其实就是由三段旋转动画衔接起来的呀,先是向左旋转60度,然后向右旋转120度,最后向左旋转60度。所以看看能不能从旋转动画RotateAnimation源码中找找思路。 分析RotateAnimation的源码,我们看到RotateAnimation继承自Animation,除了几个构造函数与初始化函数之外,起主要作用的便是applyTransformation函数。

    04

    iOS界面布局的核心以及TangramKit介绍

    TangramKit是iOS系统下用Swift编写的第三方界面布局框架。他集成了iOS的AutoLayout和SizeClass以及Android的五大容器布局体系以及HTML/CSS中的float和flex-box的布局功能和思想,目的是为iOS开发人员提供一套功能强大、多屏幕灵活适配、简单易用的UI布局解决方案。Tangram的中文即七巧板的意思,取名的寓意表明这个布局库可以非常灵巧和简单的解决各种复杂界面布局问题。他的同胞框架:MyLayout是一套用objective-C实现的界面布局框架。二者的主体思想相同,实现原理则是通过扩展UIView的属性,以及重载layoutSubviews方法来完成界面布局,只不过在一些语法和属性设置上略有一些差异。可以这么说TangramKit是MyLayout布局库的一个升级版本。大家可以通过访问下面的github站点去下载最新的版本:

    03
    领券