[英]iOS 7 change UIView to UITableView
我正在使用Xcode版本5.0(5A1413),並針對iPhone的iOS7。 我只有一個帶有表視圖的UIViewController。 我發現的所有內容都只是設置表的dataSource並委托給ViewController。 無論我做什么,應用程序都會立即崩潰。 即使根本沒有手動編寫代碼,視圖也永遠不會加載。 不再可能將表放到非TableViewController上嗎?
將Delegate
和Datasource
添加到接口:
@interface MyViewController : UIViewController
<UITableViewDataSource, UITableViewDelegate>
您應該從UITableViewDataSource實現所有必需的方法以防止崩潰:
@required
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
我認為您在初學者中犯了一個普遍的錯誤。 您在Interface Builder中刪除了主視圖,然后添加了一個表視圖。
您必須知道UIViewController類具有一個名為view的UIView屬性。 默認情況下,此屬性設置為使用鳥嘴(或情節提要)文件創建的視圖。
要說“表視圖”是主視圖控制器的視圖,您必須右鍵單擊文件所有者到“表視圖”,然后選擇“視圖”。
如果您還不滿意此方法,則另一種方法是在第一個視圖中設置tableview。
這是答案- 如何將靜態TableView添加到ViewController確實需要實現所需的方法。
iOS 7.0沒有此類限制。 您仍然可以將UIViewController實際用作數據源和UITableView的委托。 您只需要實現這些協議設置的所有強制方法。 您能否使用代碼和導致崩潰的異常來更新您的問題。 沒有這些信息,將很難提供解決方案。
我對以構造單元格和重用它們的方式查看cellForRowAtIndexPath感興趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.