首页
学习
活动
专区
工具
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中设置文本垂直中心。

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

相关·内容

Oxylabs住宅代理和数据中心代理AdsPower设置讲解

集成操作流程官网(www.adspower.com/download)下载AdsPower并完成安装工作后,单击新建配置文件(New profile),然后代理部分指定代理。...使用您所使用的相同凭据,同时代理控制面板创建新的子用户。图片您还可以使用国家/地区特定的条目。...如要配置数据中心专用代理,请根据您的购买,选择HTTP或SOCKS5,并输入60000作为端口。请从获取的列表中选择一个IP地址。...图片如要设置数据中心共享代理,代理类型请选择HTTP,输入dc.pr.oxylabs.io,端口请设置为10000。您还可以使用国家/地区特定的条目。...例如,如果在IP地址输入dc.de-pr.oxylabs.io,端口中输入40000,您将获得一个德国出口节点。根据上述流程进行操作,您就可以通过AdsPower工具开始使用了。

80840
  • Deno 设置 CronJob

    废话太多,还是先看看 Deno 的 CronJob 如何写"Hello World". ❞ 什么是 CronJob CronJob即定时任务,就类似于Linux系统的crontab,指定的时间周期运行指定的任务...本质上CronJob是一个调度程序,使应用程序可以调度作业特定日期或时间自动运行。今天,我们将把CronJob集成到Deno应用程序,有兴趣看看吗?...安装 Deno 前面的文章基本都没有提及 Deno 的安装,国内,我们使用 "vscode-deno 之父“JJC大佬为我们提供的镜像服务进行安装,地址为https://x.deno.js.cn/,...取值范围为0-59 第二个星号使用分钟数,并且取值范围为0-59 第三个星号使用小时数,其值介于0-23之间 第四个星号为月份的一天,其值1-31之间 第五个星号为一年的月份,其值1-12之间...*', () => { // run some task console.log('This is a same thing', i++) }); deno cron 当然,除了设置

    2.7K30

    NPM 设置代理

    命令提示符或终端,输入以下命令以设置代理:```npm config set proxy http://ip.duoip.cn:8080```这个命令将设置 NPM 的代理地址。1....设置代理后,请确保您的网络设置允许访问该代理。 Windows 系统,您可以通过以下步骤检查和配置网络设置:a. 右键单击 "网络" 图标在任务栏上,然后选择 "网络和共享中心"。b.... "网络和共享中心" 窗口中,单击 "更改连接属性"。c. "网络连接属性" 窗口中,选择 "使用代理服务器",然后单击 "设置"。d.... "代理服务器" 窗口中,输入代理地址,然后单击 "确定"。1. 对于 macOS 和 Linux 系统,您需要根据您的系统和网络设置配置代理。在这些系统,通常需要编辑配置文件以添加代理设置。...设置代理后,请确保您的 NPM 设置已正确保存。命令提示符或终端,输入以下命令:```npm config list```这将显示您的 NPM 配置设置

    1.8K40

    【CSS】浮动 ⑤ ( 浮动布局案例 - 导航栏模块 | 核心要点说明 | 网页默认样式 | 盒子模型居中显示 | 设置渐变背景 | 设置列表浮动 | 设置文本水平垂直居中 | 设置链接文本样式 )

    文章目录 一、案例效果 二、核心要点说明 1、网页默认样式 2、盒子模型居中显示 3、设置渐变背景 4、设置列表浮动 5、设置文本水平垂直居中 6、设置链接文本样式 7、设置鼠标经过的样式 三、完整代码示例...垂直方向排列 : 设置了 列表 项浮动 , 就可以变为行内块元素 , 一行水平排列 ; .nav ul li { /* 设置无序列表项浮动 这样就可以变为 行内块元素显示样式 */...float: left; } 如果一行排满 则自动换行 , 通过精密计算 , 可以实现网格样式的排列 ; 5、设置文本水平垂直居中 设置 text-align: center; 样式 , 可以使文本水平居中...设置文字垂直居中 */ line-height: 32px; /* 水平居中 */ text-align: center; 6、设置链接文本样式 链接一般需要设置 字体大小...) repeat-x; } .nav ul li { /* 设置无序列表项浮动 这样就可以变为 行内块元素显示样式 */ float: left; } /* 设置无序列表项

    2.4K20

    NSTextField控件应用详解 原

    NSTextField控件应用详解     NSTextField用来接收用户文本输入,其可以接收键盘事件。...: YES ]; [self.view addSubview:_textField]; } 需要注意,AppKit坐标体系,原点在左下角,这和数学的坐标系一致。...@property BOOL allowsEditingTextAttributes; //设置是否允许用户向文本拖拽图片 @property BOOL importsGraphics; //下面这些方法用于子类进行重写...类继承自NSControl类,NSControl类定义了许多属性可以获取到文本文本,例如stringValue属性,本文中不再赘述。    ...关于NSTextFieldDelegate协议,其实际上是继承自NSControlTextEditingDelegate协议,这个协议定义了NSTextField控件活动过程的回调方法,例如开始编辑

    1.3K10

    WebWorker 文本标注的应用

    作者:潘与其 - 蚂蚁金服前端工程师 - 喜欢图形学、可视化 之前数据瓦片方案的介绍,我们提到过希望将瓦片裁剪放入 WebWorker 中进行,以保证主线程中用户流畅的地图交互(缩放、平移、旋转)。...但是本文介绍的针对 Polygon 要素的文本标注方案,将涉及复杂的多边形难抵极运算,如果不放在 WebWorker 运算将完全卡死无法交互。...基于网格的 PIA 算法 算法步骤如下: 以多边形的包围盒作为初始网格,使用 ray casting 计算网格中心到多边形边界的有向距离(下图的 dist 负数表示形外)。...我们的例子,当主线程请求 WebWorker 返回当前视口包含的数据瓦片时,WebWorker 会计算出瓦片包含的 Polygon 要素的难抵极,不影响主线程的交互: // https://github.com...因此 Mapbox 的做法是合并多条请求,主线程维护一个简单的状态机: /** * While processing `loadData`, we coalesce all further

    4.7K60

    Atom设置Python开发环境

    image.png Atom设置Python开发环境 当然,网络上有很多很棒的文本编辑器。Sublime Text,Bracket,Atom等。...1)下载Atom 首先,如果我们要使用Atom作为我们的文本编辑器,我们需要下载它。...一旦你的代码长达数百行,可能很难找到你代码库的位置。Minimap提供整个代码的“缩小”视图,并突出显示代码的位置,将整个可视化功能保存在Atom编辑器的简明侧边栏。...安装此软件包后,可能需要单击设置并选择“保存时格式化”选项。这也需要您在命令行上使用pip完成安装,正如您在文档中看到的那样。...这允许您使用“command + i”键盘快捷键Atom编辑器运行脚本。代码将在文本编辑器底部的面板运行。

    4.9K80

    Atom设置Python开发环境

    1_Jxo80CShOCJQDwC2DPp2VQ.png Atom设置Python开发环境 当然,这里有很多很棒的文本编辑器。Sublime Text,Brackets,Atom。...在这里,我将介绍如何使用Atom设置一个“友好的Python”的开发环境,一些对python编码有用的软件包,然后看看如何编写一些基本代码。...1)下载Atom 首先,如果我们要使用Atom作为我们的文本编辑器,我们最好先下载它。...一旦你的代码长达数百行,可能很难找到你代码库的位置。Minimap提供整个代码的“缩小”视图,并突出显示当前代码所在的位置,并将整个可视化文件显示Atom编辑器的简明侧边栏。...这允许您使用“command + i”键盘快捷键Atom编辑器运行脚本。代码将在文本编辑器底部的面板运行。

    2.1K70

    内容分栏设置:如何将PPT文本的文字设置分栏

    当提到将PPT的文字进行分栏时,大家都是比较陌生的,通常情况下,我们都是word中将文字内容进行分栏的,并且实现文本内容进行排序排版是很简单的,但是如果是PPT,我们想对文本内容实现分栏效果,应该如何进行操作呢...https://www.pptbest.com/jiaocheng/2019-09-27/268.html 首先,进入到需要拆分为幻灯片中文本框的文本内容的文档; 1.jpg 进入文档后,我们编辑文本文本内容...,然后选择文本框并单击鼠标右键弹出右键菜单; 2.jpg 弹出的菜单栏中选择“设置形状格式”以打开“设置形状格式”弹出窗口,然后弹出窗口顶部的菜单栏中选择“文本选项”菜单; 3.jpg 接下来...,文本选项”菜单下,选择“文本框”选项卡,并在“打开设置”选项底部找到“分栏”按钮; 4.jpg 我们点击“分栏”按钮打开“栏”选项弹出窗口。...弹出的窗口中,我们将“数量”设置成自己需要的,设置好分栏的“间距”,最后点击“确定”即可; 5.jpg 确认并返回到ppt文档后,我们可以看到所选文本文本内容就自动按设置进行了分栏;

    9.9K10

    Django 获取已渲染的 HTML 文本

    Django,你可以通过多种方式获取已渲染的HTML文本。这通常取决于你希望在哪个阶段获取HTML文本。下面就是我实际操作遇到的问题,并且通过我日夜奋斗终于找到解决方案。...1、问题背景 Django ,您可能需要将已渲染的 HTML 文本存储模板变量,以便在其他模板中使用。例如,您可能有一个主模板,其中包含内容部分和侧边栏。...以下是一个示例代码,展示了如何在视图中将已渲染的 HTML 文本存储模板变量:def loginfrm(request): """ 登录表单视图 """ # 渲染登录表单 HTML...然后,我们将已渲染的 HTML 文本存储 context 字典。最后,我们使用 render() 函数渲染主模板,并传入 context 字典作为参数。...这些方法可以帮助我们Django获取已渲染的HTML文本,然后我们可以根据需要进行进一步的处理或显示。

    11110

    深度学习文本分类的应用

    近期阅读了一些深度学习文本分类的应用相关论文(论文笔记:http://t.cn/RHea2Rs ),同时也参加了 CCF 大数据与计算智能大赛(BDCI)2017 的一个文本分类问题的比赛:让 AI...每次使用一种类型的 filter 进行实验,表明 filter 的窗口大小设置 1 到 10 之间是一个比较合理的选择。...这样是为了当前词的同义词列表的距离较远 (ss较大) 的同义词被选的概率更小。 论文实验设置:p=0.5,q=0.5。...将 kernel size 设置为 1 是因为 已经包含 左右上下文的信息,无需再使用窗口大于 1 的 filter 进行特征提取。...Word Dropout Improves Robustness 针对 DAN 模型,论文提出一种 word dropout 策略:求平均词向量前,随机使得文本的某些单词 (token) 失效。

    5.3K60

    seaborn设置和选择颜色梯度

    seabornmatplotlib的基础上进行开发,当然也继承了matplotlib的颜色梯度设置, 同时也自定义了一系列独特的颜色梯度。...seaborn,通过color_palette函数来设置颜色, 用法如下 >>> sns.color_palette() [(0.12156862745098039, 0.4666666666666667...该函数接受多种形式的参数 1. seaborn palette name seaborn,提供了以下6种颜色梯度 1. deep 2. muted 3. bright 4. pastel 5. drak...4. cubehelix palette 通过子函数cubehelix_palette来实现,创建一个亮度线性变化的颜色梯度,color_palette,通过前缀ch:来标识对应的参数,用法如下 >...seaborn,还提供了4种独特的渐变色,用于绘制热图 1. rocket 2. flare 3. mako 4. crest rocker是默认的颜色梯度 >>> sns.heatmap(data

    3.7K10
    领券