Строка с переносами строк "\ n", используемая для UILabel внутри UITableViewCell без разрывов - PullRequest
0 голосов
/ 05 июня 2019

Невозможно заставить строку разбиться на строки. Я передаю данные из MainViewController для отображения в одной строке таблицы. Я попытался передать объект product с классом Product, поэтому получил описание продукта как product.description. Я также попытался просто передать строку, но в любом случае я получаю результат, показанный на изображениях. Описания взяты из базы данных Firestore, хранящейся, например, в виде строки, доступной в чёрно-белом купальнике \ nOne Piece \ nCheeky Coverage \ nStrappy Detail At Back \ n90% Нейлон 10% Спандекс \ nФинальная распродажа

Я пробовал несколько способов:

var product: Product?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "description", for: indexPath) as! ProductDescriptionTableViewCell
    cell.descriptionLabel.text = product?.description
    return cell
}

или загрузка описания в viewDidLoad ()

var product: Product?
var productDescription = String()

override func viewDidLoad() {
    super.viewDidLoad()
    productDescription = product!.description
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "description", for: indexPath) as! ProductDescriptionTableViewCell
    cell.descriptionLabel.text = productDescription
    return cell
}

Я все еще не могу получить желаемый результат разрыва строки, используя "\ n". Я проверил это, и он работает, добавляя текст напрямую, используя:

cell.descriptionLabel.text = "Available In Black And White\nOne Piece Swimsuit\nScoop Neck\nCheeky Coverage\nStrappy Detail At Back\n90% Nylon 10% Spandex\nFinal Sale"

поэтому я знаю, что высота ячейки и количество строк в метке работают.

enter image description here

...