ios - Wordwrap 与换行 UIButton 拉伸(stretch)
<p><p>我有一个 <code>UIButton</code>,我需要能够将其标签设置为任何文本,因此它需要垂直拉伸(stretch)。</p>
<p>使用 <code>\n</code> 字符设置文本时,UIButton 会正确展开:</p>
<pre><code>self.myButton.titleLabel.textAlignment = NSTextAlignmentCenter;
self.myButton.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
self.myButton.titleLabel.numberOfLines = 0;
;
</code></pre>
<p> <a href="/image/UL5TM.png" rel="noreferrer noopener nofollow"><img src="/image/UL5TM.png" alt="enter image description here"/></a> </p>
<p>但是当我没有任何 <code>\n</code> 而是让标签根据内容自行换行时,这些行似乎对 <code>UIButton</code>高度</p>
<pre><code>self.myButton.titleLabel.textAlignment = NSTextAlignmentCenter;
self.myButton.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
self.myButton.titleLabel.numberOfLines = 0;
;
</code></pre>
<p> <a href="/image/GqCMe.png" rel="noreferrer noopener nofollow"><img src="/image/GqCMe.png" alt="enter image description here"/></a> </p>
<p><code>UIButton</code> 或其 <code>UILabel</code> 上是否有控制此行为的配置,或者这是 iOS 错误? (在 iOS 9.1 上运行)</p>
<p><strong><em>注意:</em></strong><em>我对每次更改文本时手动重新计算 UIButton 的帧大小并不感兴趣,我想知道如果 UIButton 上有自动布局约束或配置属性以获得正确的行为</em></p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您需要创建一个 <code>UIButton</code> 的子类,在其中覆盖 <code>intrinsicContentSize</code>:</p>
<pre><code>@implementation HeightExpandingButton
- (CGSize)intrinsicContentSize {
CGFloat width = self.bounds.size.width;
CGSize labelSize = ;
labelSize.width = width;
return labelSize;
}
@end
</code></pre>
<p>结果:</p>
<p> <a href="/image/M696h.gif" rel="noreferrer noopener nofollow"><img src="/image/M696h.gif" alt="demo"/></a> </p></p>
<p style="font-size: 20px;">关于ios - Wordwrap 与换行 UIButton 拉伸(stretch),我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/33522032/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/33522032/
</a>
</p>
页:
[1]