2012-04-02 12 views
0

Ich bin relativ neu in der iPhone-Entwicklung, ich habe versucht, uitableview zu scrollen Ansicht, aber es zeigt Sigabart Fehler, dann habe ich programmatisch hinzugefügt und hinzugefügt uitableviewdelegate und uitaview Datenquelle zu ihm und Delegate als selbst und geben add 'noOfRowsInSection' Methode die delgate Methoden werden nicht aufgerufen. Kann mir jemand helfen.Hinzufügen von Tabellenansicht in Bildlaufansicht

@interface Class : UIViewController<UITableViewDelegate,UITableViewDataSource> { 
    UITableView *table; 
    UIScrollView *scrView; 
    NSArray *array; 
} 
@property (nonatomic, retain) IBOutlet UIScrollView *scrView; 
@end 

here is my implementation 

- (void)viewDidload 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self ; 


} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [array count]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
    return cell; 

} 

@end 

Ich füge die Scroll-Ansicht obwohl Builder-Schnittstelle, aber ich mache Tabellenansicht progra tisch die Tabl Ansicht auf dem Bildschirm angezeigt wird, aber die Methoden sind beeing nicht

+1

Bitte zeigen Sie uns den Code & die Delegate Methoden :) haben Sie die Verbindung in InterfaceBuilder gemacht? Was ist der Fehler, den deine Konsole mit dem Sigbart anzeigt? –

+0

Es gibt eine Vielzahl von möglichen Ursachen dafür, die ohne den betreffenden Code kaum zu debuggen sind. – mydogisbox

+0

Nebenbei bemerkt, UITableView ist eine Unterklasse von UIScrollView. Wenn Sie also nur vertikales Scrollen benötigen, verwenden Sie einfach ein UITableView. – cobbal

Antwort

3

1. Platz: Sie verwenden ViewDidUnload statt viewDidLoad,

2.: add tableview.dataSource = self und Umsetzung der Datenquelle Delegatmethoden =)

Sie verwenden den Delegaten anstelle der Datenquelle =)

+0

danke, ich habe es in Sicht tat nur laden, aber ich habe nicht hinzugefügt table.datasource zu sich selbst. Es gelöst es. – SreeHarsha

+0

manchmal ist es so einfach =) froh, ich könnte helfen. –

1

Sie genannt werden Ihren Code in der Platzierung viewDidUnload Methode. Bewegen Sie den Code zu viewDidLoad

- (void)viewDidUnload 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self ; 
} 

Sollte dies sein:

- (void)viewDidLoad 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self; 
    table.dataSource = self; 
} 
+0

Ich habe es in Sicht getan nur geladen, wie Sie den Code gefragt haben, in meiner Anwendung gibt es verschiedene andere Dinge zu Ihnen zu zeigen, ich habe eine Klasse erstellt und eingefügt es in Viewdidunload versehentlich tut mir wirklich leid. – SreeHarsha

+0

lese meine antwort :-) du hast vergessen die datenquelle einzustellen. –

Verwandte Themen