Невозможно установить шрифт для моих ячеек в UItableviewcell - PullRequest
0 голосов
/ 30 октября 2019

У меня есть UITableViewCell с меткой, содержащейся в ячейке. Проблема в том, что я хочу изменить шрифт на «Century Gothic», однако, когда я устанавливаю ярлык на «Century Gothic» с использованием раскадровки, это не работает. Кажется, что шрифт застрял на шрифте по умолчанию «Avenir». Я установил метку Attributed в настройках метки, чтобы в раскрывающемся меню выбрать шрифт «Century Gothic».

Я пытался установить его в коде, но, похоже, это тоже не сработало. когда я устанавливаю в коде шрифт «Avenir», это позволяет мне регулировать размер шрифта. Однако, когда я установил шрифт «Century Gothic» в коде, он не будет производить «Century Gothic» или позволил мне отрегулировать размер шрифта.

Я попытался настроить шрифт с использованием настроек раскадровки и кода.

//setting up tableview rows
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return foodTitleArray.count
}


//what cell is & how it looks
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = Tableview.dequeueReusableCell(withIdentifier: "cell123") as! UITableViewCell1

    //How text looks in tableview sections
    cell.foodTitle.font = UIFont(name: "Century Gothic", size:58)
    cell.foodTitle.textColor = UIColor.white
    cell.backgroundColor = UIColor(red: 211/255, green: 211/255, blue: 211/255, alpha: 1)


    return (cell)
}

enter image description here

enter image description here

Ответы [ 3 ]

0 голосов
/ 30 октября 2019

Допустим, вы хотите добавить этот шрифт: CenturyGothic-Regular.otf

Три шага:

Добавьте файл шрифта CenturyGothic-Regular.otf в свой проект, убедитесь, что вы выбрали свойцель в «Добавить к целям». введите описание изображения здесь

Перейдите к этапам сборки цели и убедитесь, что она находится в разделе Копировать комплект ресурсов. Если нет, добавьте его.

1

Перейти к информации о цели. Добавьте новую запись Шрифт, предоставленный приложением, затем добавьте новый элемент с этим значением CenturyGothic-Regular.otf.

введите описание изображения здесь

введите описание изображения здесь

В вашем искателе дважды щелкните CenturyGothic.ttf, он может попросить вас установить шрифт в вашу Font Book.

Откройте приложение OS X Font Book, перейдите к своему шрифту, затемнажмите Command + i. Запишите имя PostScript и используйте это имя в своем коде Swift. В данном случае это CenturyGothic-Regular. введите описание изображения здесь

3

Итак, в вашем коде:

labeladd.font = UIFont(name:"CenturyGothic-Regular", size:15)
0 голосов
/ 30 октября 2019

https://gist.github.com/tadija/cb4ec0cbf0a89886d488d1d8b595d0e9 может помочь вам. У него есть имена всех шрифтов, которые можно использовать в UIFont(name: ,size: )

0 голосов
/ 30 октября 2019

Вы отбрасываете ячейку как ячейку UITableView, когда вы удаляете ее из очереди, так что у нее нет метки foodTitle.

Вам нужно привести ее в качестве пользовательского типа ячейки, тогда вы будетевозможность доступа к вашим полям.

Лучше по-прежнему зарегистрироваться как правильный тип ячейки в viewDidLoad ...

tableView. register(MyCustomCellClass.self, forCellReuseIdentifier: "MyCellID")

, а затем вы можете использовать более новый API для удаления его из очереди

let cell = tableView.dequeueReusableCell(withIdentifier: "MyCellID", for: indexPath)

и его вообще не нужно разыгрывать.

Если вы хотите быть действительно умным, добавьте статическое свойство в ячейку клиента и используйте его для идентификатора ячейки:

class MyCustomCell: UITableViewCell {
   static let cellID = "cellIDString" //can be anything as it's never seen
   // all the existing code...
}

и затем использовать его как

MyCustomCell.cellID

всякий раз, когда необходим идентификатор ячейки. Это избавляет от строковых литералов, помогает удобочитаемости и устраняет ошибки опечаток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...