Toon posts:

Van tableView naar een video [objective-c]

Pagina: 1
Acties:
  • 185 views

  • Zaankantertje75
  • Registratie: oktober 2010
  • Laatst online: 14-12-2010
Hee beste mensen,

Ik heb hier een tableView.



als ik op een van de cellen klik wil ik graag een video openen, nu heb ik alleen de code om een video te openen met een aparte knop. en dat link je dan met IB.

Nu denk ik dat je met een cell geen IB connectie kan maken omdat je daar het voorbeeld van de tabel ziet van california enzo. (in IB)

me cell is gecreëerd met deze code:

.m
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
- (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
    return 3;
}

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = 
    [tableView dequeueReusableCellWithIdentifier:@"cell"];
    
    // create a cell
    if ( cell == nil)
    {
        cell = [[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleSubtitle
                reuseIdentifier:@"cell"];
    }

    //retrieve an image/ Zet een afbeelding naast de titel
    NSString *imagefile = [[NSBundle mainBundle]
                           pathForResource:@"cellimage" ofType:@"png"];
    UIImage *ui = [[UIImage alloc] initWithContentsOfFile:imagefile];
    //set the image on the table cell/ zet hem in de tabel
    cell.imageView.image = ui;
    
    
    //set the main text/hoofd tekst
    cell.textLabel.text = [exercises objectAtIndex:indexPath.row];
    
    //set the subtitle text/ ondertekst
    cell.detailTextLabel.text = @"Management training", @"Ondertiteling hier", @"Ondertiteling hier";
    
    //accessory type /zijn de navigatie pijltjes, er zijn 3 verschillende 
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    
    //return the cell
    return cell;
}

/*
 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
        // Custom initialization
    }
    return self;
}
*/


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    exercises = [[NSArray alloc]
                 initWithObjects:@"BAZO", @"Een minder interessante titel",
                 @"En nog een titel",nil];
    
    self.title = @"Training lijst";
    
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

// Customize the number of sections in the table view.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}


Ik denk dat ik dus programmatisch die koppeling moet maken.

Maar als iemand mij zou kunnen uitleggen hoe?

Ik heb zelf geen idee hoe ik dit op zou moeten lossen, ben dan ook nieuw met objective-c

Zou erg blij zijn als iemand een tip voor me heeft of welke methode ik moet toepassen

Tx voor je tijd

Bram

  • Icelus
  • Registratie: januari 2004
  • Niet online
Zaankantertje75 schreef op donderdag 28 oktober 2010 @ 13:58:
Nu denk ik dat je met een cell geen IB connectie kan maken omdat je daar het voorbeeld van de tabel ziet van california enzo. (in IB)
Je moet een methode maken die aangeroepen wordt bij het kiezen van een rij.
Voluit heet die methode:
C:
1
2
-(void) tableView: (UITableView*) tableView
        didSelectRowAtIndexPath: (NSIndexPath*) indexPath

In Interface Builder kun je een koppeling maken tussen de table view en de methode.
Via de variabele indexPath kun je dan achterhalen welke rij gekozen is.

Waarschijnlijk zul je een aparte View moeten maken met daar in een video-object. Vanuit bovenstaande methode zul je de View dan moeten inladen en toevoegen.

[Voor 6% gewijzigd door Icelus op 28-10-2010 15:17]

Developer Accused Of Unreadable Code Refuses To Comment


  • Zaankantertje75
  • Registratie: oktober 2010
  • Laatst online: 14-12-2010
Icelus schreef op donderdag 28 oktober 2010 @ 15:15:
[...]
Je moet een methode maken die aangeroepen wordt bij het kiezen van een rij.
Voluit heet die methode:
C:
1
2
-(void) tableView: (UITableView*) tableView
        didSelectRowAtIndexPath: (NSIndexPath*) indexPath

In Interface Builder kun je een koppeling maken tussen de table view en de methode.
Via de variabele indexPath kun je dan achterhalen welke rij gekozen is.

Waarschijnlijk zul je een aparte View moeten maken met daar in een video-object. Vanuit bovenstaande methode zul je de View dan moeten inladen en toevoegen.
Op een of andere manier krijg ik deze code niet werkend tussen mijn bestaande code.
blijf 2 errors houden:

error: wrong type argument to unary minus

error: expected ';' before ':' token


die 2e code zie ik vaker ben waarschijnlijk ergens zo'n ding vergeten maar die eerste heb ik nog nooit gehad.


Of ik doe het hellemaal fout.

is er nog een andere of (voor als ik iets fout doe) iets simpelere mehtode/code ?

tx anyway!

  • Woy
  • Registratie: april 2000
  • Niet online

Woy

Moderator Devschuur®
Zaankantertje75 schreef op donderdag 28 oktober 2010 @ 16:35:
[...]
Op een of andere manier krijg ik deze code niet werkend tussen mijn bestaande code.
blijf 2 errors houden:

error: wrong type argument to unary minus

error: expected ';' before ':' token
Je topic voldoet nog steeds niet aan de richtlijnen, aangezien je alleen neergooit wat je hebt, maar verder nog geen enkele oplossing die je gevonden hebt, of wat je verder geprobeerd hebt om het op te lossen. Icelus geeft al aan dat je je code gewoon uit kunt voeren als er een event optreed van het selecteren van een rij.

De foutmelding die je krijgt is gewoon een compiler fout, en die moet je in dit geval gewoon zelf op kunnen lossen. Ik doe dit topic dus ook weer op slot.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Dit topic is gesloten.



Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee