Dynamically update UILabel#39;s position on UIView depend on their text value(动态更新 UILabel 在 UIView 上的位置取决于它们的文本值)
问题描述
我从网络上获取这些值.如果所有值都来自网络,则此屏幕看起来很酷.
I am getting these values from web. This screen if all values came from web which looks cool.
在没有数据的情况下,如下所示.
And in absence of data it looks like follows.
我用过这段代码
//Purchasae info
{
NSInteger heightToDecrease = 0;
NSInteger heightToIncrease = 0;
// NSInteger LABEL_HEIGHT = 18;
maximumSize = CGSizeZero;
textSize = CGSizeZero;
//purchaseCostLabel
heightToDecrease += self.PurchsCostHeightConstrains.constant;
maximumSize = CGSizeMake(self.purchaseCostLabel.frame.size.width, 999);
textSize = [UtilityHandler textSizeOfString:self.purchaseCostLabel.text font:self.purchaseCostLabel.font maxSize:maximumSize];
NSInteger purchaseCostLabelHeight = textSize.height+SPACE_PADDING;
self.PurchsCostHeightConstrains.constant = purchaseCostLabelHeight;
totalHeightToIncrease += self.PurchsCostHeightConstrains.constant;
//insurance
heightToDecrease += self.insuranceHeightConstraints.constant;
maximumSize = CGSizeMake(self.purchaseInsuranceLabel.frame.size.width, 999);
textSize = [UtilityHandler textSizeOfString:self.purchaseInsuranceLabel.text font:self.purchaseInsuranceLabel.font maxSize:maximumSize];
NSInteger insCostLabelHeight = textSize.height+SPACE_PADDING;
self.insuranceHeightConstraints.constant = insCostLabelHeight;
totalHeightToIncrease += self.insuranceHeightConstraints.constant;
//shipping
heightToDecrease += self.shippingHeightConstarants.constant;
maximumSize = CGSizeMake(self.shippingLabel.frame.size.width, 999);
textSize = [UtilityHandler textSizeOfString:self.shippingLabel.text font:self.shippingLabel.font maxSize:maximumSize];
NSInteger shippingLabelHeight = textSize.height+SPACE_PADDING;
self.shippingHeightConstarants.constant = shippingLabelHeight;
totalHeightToIncrease += self.shippingHeightConstarants.constant;
//conservation
heightToDecrease += self.conserVHeightConstraints.constant;
maximumSize = CGSizeMake(self.conservationLabel.frame.size.width, 999);
textSize = [UtilityHandler textSizeOfString:self.conservationLabel.text font:self.conservationLabel.font maxSize:maximumSize];
NSInteger conserLabelHeight = textSize.height+SPACE_PADDING;
self.conserVHeightConstraints.constant = conserLabelHeight;
totalHeightToIncrease += self.conserVHeightConstraints.constant;
//storage
heightToDecrease += self.storageHeightConstraints.constant;
maximumSize = CGSizeMake(self.storageLabel.frame.size.width, 999);
textSize = [UtilityHandler textSizeOfString:self.storageLabel.text font:self.storageLabel.font maxSize:maximumSize];
NSInteger storagLabelHeight = textSize.height+SPACE_PADDING;
self.storageHeightConstraints.constant = storagLabelHeight;
totalHeightToIncrease += self.storageHeightConstraints.constant;
//Frameing
heightToDecrease += self.framingHeightConstraints.constant;
maximumSize = CGSizeMake(self.shippingLabel.frame.size.width, 999);
textSize = [UtilityHandler textSizeOfString:self.shippingLabel.text font:self.shippingLabel.font maxSize:maximumSize];
NSInteger framLabelHeight = textSize.height+SPACE_PADDING;
self.framingHeightConstraints.constant = framLabelHeight;
totalHeightToIncrease += self.framingHeightConstraints.constant;
// set content view height constraint
self.purchaseInformationViewHeightConstraint.constant -= heightToDecrease;
// set content view height constraint
self.purchaseInformationViewHeightConstraint.constant += heightToIncrease;
}
那么如何更新标签框架,以便任何标签可以占据空白标签的位置?
So how do I update labels frame so if any label can take blank labels' positions?
推荐答案
为您的标签使用 Storyboard,并且仅使用单个标签将您的标签设置为具有所有 4 个约束,左、右、上、下设置行数 0.它适用于您的文本
Use Storyboard for your label and use only single label Set your label to have all 4 constraints, left,right,top,bottom Set number of lines 0. It will work for your text
这篇关于动态更新 UILabel 在 UIView 上的位置取决于它们的文本值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:动态更新 UILabel 在 UIView 上的位置取决于它们的文本值


- URL编码Swift iOS 2022-01-01
- SetOnItemSelectedListener上的微调程序错误 2022-01-01
- 在 Iphone SDK 的导航栏上添加多个按钮 2022-01-01
- 如何在 iPhone 模拟器中重置 NSUserDefaults 数据? 2022-01-01
- 类似于 Mail.app 的 iPad 模态视图控制器? 2022-01-01
- UITextView 内容插图 2022-01-01
- Xcode 7.3 中带有 UILabel 的 UIStackView 2022-01-01
- 网上有没有好的 UIScrollView 教程? 2022-01-01
- 使用自动布局向 UIScrollView 添加动态大小的视图 2022-01-01
- GPS状态的广播接收器? 2022-01-01