ios - 有没有办法让 UIButton 与 UILabel 中的文本换行?

标签 ios objective-c layout uibutton uilabel

基本上我希望 UIButton 出现在 UILabel 的末尾。 UILabel 已本地化,因此位置可能会有所不同。有没有办法让我的布局恰到好处?

最佳答案

我假设您想在同一个 View 上添加标签和按钮。你的意思是你的文本是本地化的,直到运行时才知道文本的大小。实际上,这是您要求的其他东西。因为你需要设置标签的大小取决于文本的大小。您可以使用以下方法计算文本的大小,例如

- (CGSize)sizeWithFont:(UIFont *)font

或者您可以在设置文本后调整标签大小

- (void)sizeToFit

完成标签尺寸后

你可以像这样设置按钮的框架

button.frame = CGRectMake(label.frame.origin.x + label.frame.size.with, yPosition, buttonWidth, buttonHeight);

请注意,在设置好标签的边框后,还需要设置按钮的边框。如果更改框架标签,则需要更改按钮的框架。或者在 ios 6.0 之前,您可以使用 NSLayoutConstraint 获取更多信息 https://developer.apple.com/library/ios/#documentation/AppKit/Reference/NSLayoutConstraint_Class/NSLayoutConstraint/NSLayoutConstraint.html

关于ios - 有没有办法让 UIButton 与 UILabel 中的文本换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15526605/

相关文章:

ios - RestKit:将嵌套数组映射到对象

ios - 在 `cellForRowAt` 中激活 NSLayoutConstraint 直到滚动后才会呈现

iOS - Modally Present VC 模糊了之前的 View Controller

java - 获取 Java Swing 中组件的布局约束

android - android开发的基本布局/导航问题

ios - 由于 AdMob,Mac 上的 Unity 游戏构建失败

ios - 如何在 Swift 中制作标签列表?

ios - 在字符串中,删除仅包含数字的括号

objective-c - 我可以通过仅在一个集合中更改存储在两个集合中的对象来更新该对象吗?

html - 响应式 3 列布局,第三列具有固定大小