作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个类似于此的按钮:
ONE
TWO
THREE
FOUR
最佳答案
它实际上与NSAttributedString
或NSString
无关,而与按钮本身有关。您可能会想到对UIButton
进行子类化并覆盖setTitle:forState:
以自动将第一个空格替换为\n
。
具体来说,setTitle:forState:
看起来像这样
- (void)setTitle:(NSString *)title forState:(UIControlState)state {
NSRange firstSpaceRanger = [title rangeOfString:@" "];
if (firstSpaceRanger.location != NSNotFound) {
title = [title stringByReplacingCharactersInRange:firstSpaceRanger withString:@"\n"];
}
[super setTitle:title forState:state];
}
one two three
,它将产生
one
two three
UIButton
初始化程序中执行以下操作:
self.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
firstSpaceRanger
是故意的。我无法抗拒。
关于ios - 有没有一种方法可以隐式地使按钮成为多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19554888/
我是一名优秀的程序员,十分优秀!