[英]iOS: UIViewController doesn't display another UIViewController using storyboards
[英]iOS - UITableView in UIVIewController doesn't display all rows [Swift]
我在UIViewController
遇到了我的UITableView
的错误。 我会试着解释一下情况和问题。
我有一个TabBarController
,一个视图是一个带有UITableView
的UIViewController
。 我没有使用UITableViewController
因为我的UIViewController
上有一些特定的控件。
所以,当我的UIViewController
不是我的TabBarController
的孩子时,一切都还可以:所有行都正确显示。
但是,当我将我的UIViewController
设置为我的TabBarController
的子TabBarController
,我遇到了这个错误:只显示了一些行(在所有情况下都显示一个超过三十行)。
我只是不明白发生了什么。 我的代码似乎工作,但只有当我的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()
}
}
提前感谢您的回答! :)
自从MainStory板出现以来,我不是它的忠实粉丝,我在同一天晚上遇到了同样的错误,我不得不摆脱我的View Controller并用.xib文件制作一个View Controller。
var viewController: ViewController?
在返回之前的didFinishLaunchingWithOptions:
函数下
我添加了以下代码
self.window = UIWindow(frame:UIScreen.mainScreen().bounds) self.viewController = ViewController(nibName:"ViewController",bundle:nil) var navController = UINavigationController(rootViewController: self.viewController!) navController.navigationBarHidden = true self.window?.rootViewController = navController self.window?.makeKeyAndVisible()
基本上在绘制窗口框架之后,我们创建了ViewController
并将其嵌入到导航控制器中,然后将导航控制器设置为窗口的根视图。
很抱歉很长一段时间没有反馈。
我终于找到了解决问题的方法。 我在UINavigationController
嵌入了包含UITableView
UIViewController
。 经过一些研究,似乎是这种情况的良好等级。
希望这有助于有人帮忙。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.