gpt4 book ai didi

xcode - 在自动调整大小的标签中的单独行上显示 Swift 字符串数组

转载 作者:行者123 更新时间:2023-11-28 11:14:40 25 4
gpt4 key购买 nike

我有一个通过 FMDB SQLite 结果填充的 Swift 字符串数组。该数组向控制台窗口打印 OK。我现在不想打印到控制台,而是希望数组中的字符串显示在自动调整大小标签 (tests_label) 中的单独行上。

对 XCode 来说只是略逊一筹,所以感谢您的耐心等待!

import UIKit

class ViewController: UIViewController {


@IBOutlet weak var tests_label: UILabel!

var databasePath = NSString()

override func viewDidLoad() {
super.viewDidLoad()

let filemgr = NSFileManager.defaultManager()

let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)

let docsDir = dirPaths[0] as! String

databasePath = docsDir.stringByAppendingPathComponent("vmd_db.db")

let myDatabase = FMDatabase(path: databasePath as String)

if myDatabase.open(){

var arrayData:[String] = []

let query_lab_test = "SELECT lab_test FROM lab_test"

let results_lab_test:FMResultSet? = myDatabase.executeQuery(query_lab_test, withArgumentsInArray: nil)

while results_lab_test?.next() == true {

if let resultString = results_lab_test?.stringForColumn("lab_test"){

arrayData.append(resultString)

}
}
var multiLineString = join("\u{0085}", arrayData)
tests_label.text = multiLineString
tests_label.numberOfLines = 0
tests_label.lineBreakMode = NSLineBreakMode.ByWordWrapping
tests_label.sizeToFit()
//println(arrayData)
myDatabase.close()
}
}


override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

最佳答案

您可以创建一个由换行符分隔的字符串,如下所示:

let string = array.joinWithSeparator("\u{0085}")

或者在 Swift 4 中:

let string = array.joined(separator: "\u{0085}")

然后只需将其分配给标签即可。对于 UILabel,您可能应该将 numberOfLines 设置为零并使用 sizeToFit() 或一些更复杂的方法调整它的大小。

关于xcode - 在自动调整大小的标签中的单独行上显示 Swift 字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32582235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com