2010-11-03 5 views
0

Quelqu'un peut-il afficher la hiérarchie des vues dans le développement de l'iphone/ipad?Hiérarchie UIViewController, UIView et View dans le développement du SDK/iphone ios4

Je veux savoir quel est l'élément "root" dont j'ai besoin pour afficher un textBox à l'écran.

Je voudrais également savoir comment je peux remplir une sous-classe UITableViewController sans avoir à utiliser une NIB.

Est-ce le minimum de composants est:

Window 
    UiViewController 
      UIView 
       UITextBox 

ou

Window 
    UIView 
     UITextBox 

@ Richard J. Ross III

Où dois-je mettre myTableView ??

Window 
    myTableView 

De quel type est myTableView?

Répondre

1

Les composants minimum est, mais il est recommandé d'utiliser le UIViewController, car il vous permet de faire des trucs cool avec UITableViews, UITabBars, etc. sous-classe UITableViewController sans plume:

#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 

Ensuite, pour utiliser ce contrôleur personnalisé:

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

Désolé pour mes erreurs de syntaxe, je l'ai écrit cela sans un IDE (par exemple droit stackoverflow).

+0

Où dois-je placer myTableView? Fenêtre UIViewController myTableView ?? --sorry Je ne sais pas comment formater les commentaires – Arcadian

+0

J'ai édité mon message original avec question pour vous. – Arcadian

+0

myTableView est un UITableView Créé à partir d'un .nib, avec une sortie à votre code –

1

La première estimation est correcte. Un UIViewController gère une propriété view, qui est un UIView. Le contrôleur est en charge de prendre soin des choses lorsque certains événements se produisent. Si l'utilisateur fait pivoter son périphérique, viewController est l'objet qui entend à ce sujet. Si vous avez codé pour cet événement, viewController transmettra une instruction à UIView pour faire pivoter. Il y a un code spécial dans viewController qui peut décider quoi faire quand la vue apparaît, disparaît, charge, décharge, etc.

UITableViewController gère un tableauView. Dans la configuration XCode par défaut, la DataSource Table View et Delegate est la sous-classe UITableViewController. Le délégué gère ce qui se passe lorsqu'un utilisateur interagit avec la table, en sélectionnant des lignes, en les faisant défiler, etc. La source de données contient des informations qui remplissent les lignes de la table, les en-têtes et les pieds de page.

Si vous souhaitez afficher une zone de texte dans une tableViewCell, vous aurez besoin d'un objet UITableView et d'un champ UITextField. Vous devez faire en sorte que la source de données donne à la table un UITextField en tant que ligne et l'ajouter à la vue de UITableViewCell, appelée contentView.

Questions connexes