簡體   English   中英

iOS 7將UIView更改為UITableView

[英]iOS 7 change UIView to UITableView

我正在使用Xcode版本5.0(5A1413),並針對iPhone的iOS7。 我只有一個帶有表視圖的UIViewController。 我發現的所有內容都只是設置表的dataSource並委托給ViewController。 無論我做什么,應用程序都會立即崩潰。 即使根本沒有手動編寫代碼,視圖也永遠不會加載。 不再可能將表放到非TableViewController上嗎?

DelegateDatasource添加到接口:

@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM