Long time reader, first time poster. I have searched all over for a solution but I am yet to find an answer that works.
Ok the problem: I have a UILabel which gets text dynamically assigned to it. If I resize the label to cover the entire view controller the text is stuck in the middle. I found a bunch of solutions which say to add the following code:
detailsLabel.numberOfLines = 0;
detailsLabel.sizeToFit()
However this doesn't do anything.
Can someone have a look at my code and provide suggestions?
import UIKit
class DetailsViewController: UIViewController {
@IBOutlet weak var detailsLabel: UILabel!
@IBOutlet weak var lbldetails: UILabel!
var selectedBeach : Beach?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
detailsLabel.text = selectedBeach?.greaterDetails
lbldetails.text = (selectedBeach?.beachName ?? "") + " Details"
detailsLabel.numberOfLines = 0;
[detailsLabel .sizeToFit()]
}
@IBAction func dismiss(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
ok. do the following:
after that go to the label's size inspector and make sure that the constraints all have a constant of Standard .
last but not least go to the label's attributes inspector and make sure that the Lines property is set to 0.
feel free to ask if you have any questions :)
The correct code in Swift is
detailsLabel.sizeToFit()
Without the [ ]
And for the Objective-C it's
[detailsLabel sizeToFit];
You can do the following things to enable UILabel
that support multiline.
lbldetails.numberOfLines = 0
lbldetails.preferredMaxLayoutWidth = lbldetails.frame.size.width
Here i am consider that your UILable support dynamic height as per its text just issue regarding not displaying multiline.
Kindly give following constraints to UILabel
.
Hope this help you.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.