我在UIViewController中的UITableView遇到了一个bug。
我尝试解释一下我的情况和问题。
我有一个TabBarController,其中一个视图是带有UITableView的UIViewController。 我不使用UITableViewController,因为我的UIViewController上有一些特殊的控件。
所以,当我的UIViewController不是我的TabBarController的子代时,一切正常:所有行都正确显示。
但是,当我将我的UIViewController设置为我的TabBarController的子代时,出现了这个bug:只显示一部分行(准确的说是三分之一,在所有情况下)。
我只是不明白发生了什么。我的代码似乎是有效的,但只有当我的UIViewController不是我的TabBarController的子代时才能生效。
这种情况下是否有另一种添加方法?
这是我的UIViewController代码:
我有一个TabBarController,其中一个视图是带有UITableView的UIViewController。 我不使用UITableViewController,因为我的UIViewController上有一些特殊的控件。
所以,当我的UIViewController不是我的TabBarController的子代时,一切正常:所有行都正确显示。
但是,当我将我的UIViewController设置为我的TabBarController的子代时,出现了这个bug:只显示一部分行(准确的说是三分之一,在所有情况下)。
我只是不明白发生了什么。我的代码似乎是有效的,但只有当我的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()
}
}
感谢您提前回答!:)