UIButton 标签文本垂直对齐加号 (+) 和减号 (-)

问题描述 投票:0回答:2

我有一个带有标签文本“+”和“-”的圆形按钮。它没有正确垂直对齐。

我已经在做了

button.contentVerticalAlignment = UIControlContentVerticalAlignment.center

请帮助将其对齐到中心(垂直)。

swift uibutton vertical-alignment
2个回答
14
投票

问题的根本原因是字符的上下“边距”不均匀。请改用 全角加号 全角连字符减号

以下是便于复制粘贴的字符:

+ -

结果:


0
投票

在按钮上使用 display-flex 并使用 line-height 的值将加号或减号垂直放置在按钮内。行高值的增加使符号向下移动,行高值的减小使符号向上移动。谢谢!

这个答案基于相关CSS属性的实际行为,以实现按钮内减号和加号的垂直对齐(我没有尝试过其他元素,如span或div,但我相信它的工作原理是相同的,如果不是请原谅我的)猜测)在增加字体大小(到任何程度)时,无论使用的字体系列如何。

用例:有时您需要更大的按钮,里面有加号或减号。但对于按钮来说字体太小。当您增加按钮的字体大小时,加号和减号无法像我一样垂直对齐。这时我想出了以下解决方案。

注意:我在其他地方找不到解决方案,所以我最终采用了这个解决方案。我对您对解决方案的任何意见持开放态度,因此请随时留下一些评论:)

/* common style */
button {
   height: 50px;
   width: 200px;
   background: #216AFF;
   color: white;
}

.minus {
  font-size: 70px;
  display: flex;
  justify-content: center;
  line-height: 35px;
}

.plus {
  font-size: 50px;
  display: flex;
  justify-content: center;
  line-height: 45px;
}
<button class="minus">-</button>
<br>
<button class="plus">+</button>

© www.soinside.com 2019 - 2024. All rights reserved.