Я столкнулся с ошибкой с моим UITableView
в UIViewController
. Я попытаюсь объяснить, в чем ситуация и моя проблема.iOS - UITableView в UIVIewController не отображает все строки [Swift]
У меня есть TabBarController
, который имеет вид UIViewController
с UITableView
. Я не использую UITableViewController
, потому что у меня есть некоторые специфические элементы управления на моем UIViewController
.
Итак, когда мой UIViewController
не является дочерним из моего TabBarController
, все в порядке: все строки отображаются правильно.
Но, когда я установил свой UIViewController
в качестве ребенка моего TabBarController
, у меня есть эта ошибка: отображаются только некоторые строки (по одному на threem точно, во всех сценариях).
Я просто не понимаю, что происходит. Мой код работает, но только когда мой UIViewController
не является дочерним из моего TabBarController
.
Есть ли другой способ добавить в этом случае?
Существует код моего UIViewController
:
class ProfileController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableChallenges: UITableView!
@IBOutlet weak var profileTabs: UISegmentedControl!
var pageViewController : UIPageViewController!
override func viewDidLoad() {
super.viewDidLoad()
self.tableChallenges.dataSource = self
self.tableChallenges.delegate = self
self.tableChallenges.reloadData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("challengeCustomCell", forIndexPath: indexPath) as! ChallengeCustomCell
switch(self.profileTabs.selectedSegmentIndex) {
case 0:
cell.challengeSuccededOrFailedImage.hidden = true
break
case 1:
cell.challengeSuccededOrFailedImage.hidden = false
cell.challengeSuccededOrFailedImage.image = UIImage(named: "challenge-succeded")
break
case 2:
cell.challengeSuccededOrFailedImage.hidden = false
cell.challengeSuccededOrFailedImage.image = UIImage(named: "challenge-failed")
break
case 3:
cell.challengeSuccededOrFailedImage.hidden = true
break
default: break
}
return cell
}
@IBAction func selectedItemChanged(sender: AnyObject) {
self.tableChallenges.reloadData()
}
}
Заранее спасибо за ваши ответы! :)
У меня точно такая же проблема. Это происходит с UICollectionViews, а также с UITableViews. Если я встраиваю ViewController, который содержит одно из этих представлений внутри UITabBarController, только некоторые ячейки содержат подсмотры, указанные в Storyboard. –