为啥嵌入 UINavigationController 时不再显示 UITableView
Posted
技术标签:
【中文标题】为啥嵌入 UINavigationController 时不再显示 UITableView【英文标题】:Why does not it display UITableView anymore when embed UINavigationController为什么嵌入 UINavigationController 时不再显示 UITableView 【发布时间】:2015-03-31 08:20:36 【问题描述】:我是 ios 开发新手。我现在正在学习 Swift。我目前有一个问题,即添加导航视图控制器后,我的 tableView 不再显示任何内容。我不明白为什么。请高手帮帮我!!
class AppDelegate: UIResponder, UIApplicationDelegate
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
// Override point for customization after application launch.
let mainVC = ViewController()
let navigationVC = UINavigationController(rootViewController: mainVC)
window?.rootViewController = navigationVC;
window?.makeKeyAndVisible()
return true
ViewController 中的代码:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
@IBOutlet var myTable: UITableView!
var items: [String] = ["Date Picker","List of Data","Slider","Show Image", "Web Display"];
override func viewDidLoad()
super.viewDidLoad()
NSLog("Hello World at console");
var nib = UINib(nibName: "ListCell", bundle: nil)
myTable?.registerNib(nib, forCellReuseIdentifier: "ListCell")
// Do any additional setup after loading the view, typically from a nib.
【问题讨论】:
【参考方案1】:如果您使用故事板,请使用它的实例化方法,并在故事板中设置控制器的故事板ID
YourController *vc = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"ControllerStoryboardId"];
如果是xib文件
YourController *vc = [[YourController alloc] initWithNibName:@"YourController" bundle:[NSBundle mainBundle]];
【讨论】:
以上是关于为啥嵌入 UINavigationController 时不再显示 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
UIView 只嵌入在 UINavigationController 和 UITabBarController 中,为啥?
为啥嵌入 UINavigationController 时不再显示 UITableView