Почему ширина ячейки в UItableview не равна ширине экрана в симуляторе? - PullRequest
0 голосов
/ 07 сентября 2018

Ячейка таблицы работает короче, чем предполагалось. (Я использую другой цвет фона, который показывает разницу в ширине). Ячейка настраивается индивидуально (только высота строки изменяется на 140). В классе playerCell есть только несколько IBoutlets. Спасибо.

(изображение: раскадровка

 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    var count: Int
    if playerBank.count == 0
    {
        count = 1
    }
    else{
        count = playerBank.count
    }

    return count
}


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! playerCell


    if playerBank.isEmpty{
        let p = Player()
       playerBank = setInvalidPlayer(pBank: p, userInput: userInputPlayerName)

    }


    let playerInBank: Player = playerBank[indexPath.row]

        passImageUrl = cell.setPlayerCell(p: playerInBank)
        urlBank.append(passImageUrl)

    let bgColorView = UIView()
    bgColorView.backgroundColor = UIColor.red
    cell.selectedBackgroundView = bgColorView

    return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    myIndex = indexPath.row
    DispatchQueue.main.async {
        self.performSegue(withIdentifier: "ShowPlayerInfo", sender: self)
    }
}

Storyboard

1 Ответ

0 голосов
/ 07 сентября 2018

Мое первое предположение состоит в том, что, хотя у вас есть настраиваемая ячейка с настраиваемыми выходами, в ней нет ограничений макета. Поэтому элементы, которые вы помещаете в раскадровку, сохраняют свои внутренние значения и не адаптируются к размеру экрана устройства.

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

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