2010-11-03 74 views
0

有人可以在iphone/ipad開發中看到層次結構嗎?ios4中的UIViewController,UIView和View層次結構SDK/iphone開發

我想知道什麼是我需要在屏幕上顯示文本框的「根」元素。

我也想知道如何填充UITableViewController子類而不必使用NIB。

是最小組件是:

Window 
    UiViewController 
      UIView 
       UITextBox 

Window 
    UIView 
     UITextBox 

@理查德·羅斯III

我應該把myTableView?

Window 
    myTableView 

myTableView是什麼類型?

回答

1

的最小組件是,但建議使用UIViewController,因爲它可以讓你做一些很酷的東西與UITableViewsUITabBars等的UITableViewController子類,而筆尖:

#import <UIKit/UIKit.h> 

@interface MyController : UITableViewController 
// custom methods here 
@end 

@implementation MyController 

–(UITableViewCell *) tableView:(UITableView *) view cellForRowAtIndexPath:(NSIndexPath *) indexPath 
{ 
    return [[[UITableViewCell alloc] init] autorelease]; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // initializes the table with 10 rows 
    return 10; 
} 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(@"the user selected row: %@", indexPath); 
} 

@end 

然後,使用定製控制器:

MyController *control = [[MyController alloc] initWithStyle:UITableViewStylePlain]; 
// now hook it up! 
myTableView.dataSource = control; 
myTableView.delegate = control; 
[control release]; 

對不起,我的語法錯誤,我寫了這個沒有一個IDE(如直上計算器)。

+0

我在哪裏放置myTableView?窗口UIViewController myTableView? --sorry我不知道如何格式化評論 – Arcadian 2010-11-03 13:23:37

+0

我編輯我原來的問題與你的問題。 – Arcadian 2010-11-03 13:28:43

+0

myTableView是一個從.nib創建的UITableView,帶有代碼的出口 – 2010-11-03 13:31:12

1

第一個猜測是正確的。一個UIViewController管理一個視圖屬性,這是一個UIView。當某些事件發生時,控制器負責照顧事物。如果用戶旋轉他的設備,viewController就是聽到它的對象。如果你已經爲這個事件編碼,viewController會傳遞一個指令給UIView進行旋轉。 viewController中有特殊的代碼,可以決定當視圖出現,消失,加載,卸載等時要執行的操作。

UITableViewController管理一個tableView。在默認的XCode設置中,Table View DataSource和Delegate是UITableViewController的子類。委託管理用戶通過選擇行,滾動等與表交互時發生的情況。數據源包含填充表中行,頁眉和頁腳的信息。

如果你想在tableViewCell中顯示一個文本框,你需要一個UITableView對象和一個UITextField。您必須讓dataSource爲表格提供一個UITextField作爲行,並將其添加到UITableViewCell的視圖(稱爲contentView)。