Se pare ca nu prea se avanta nimeni cu intrebari de programare, asa ca vin eu cu una:
1. am un UITableView si mai multe UITableViewCell si vreau sa desenez cate un text cu [[[UILabel alloc] initWithFrame:CGRectMake(60, 10, 215, 20)] autorelease];
cum fac textul sa aibe background transparent? nu vreau sa schimb sa aibe culoarea celulei, desi nici asta nu stiu cum, pentru ca si celula este transparenta si trebuie sa se vada o poza de pe fundal. n-am folosit IB ca sa plasez labelul in celula.
Nu sunt acasă şi nu pot verifica acuma, dar mă gândesc că ar trebui să meargă dacă setezi background-ul label-ului ca fiind clearColor (adică, tehLabel.background = [UIColor clearColor]).
ms, asta era. acum m-am prins si de ce in documentatia de la UILabel nu spune nimic despre background, pentru ca mosteneste proprietatile de la UIView.
Dap—şi asta e valabil pentru toate componentele CocoaTouch. Dacă nu găseşti o funcție într-un widget sau un tip de date care ar trebui logic să-l aibă, uită-te pe la părinții lui.
2. cum incarc o imagine care se afla intr-un grup? am un folder care contin alte foldere care la randul lor contin png-uri, il adaug in resurse si-i dau sa creeze grupuri pentru fiecare folder intalnit.
daca asta merge pentru pozele puse direct in resurse: [UIImage imageNamed:@“4.0.png”];
m-am gandit ca asta o sa functioneze pentru pozele tinute in grupuri: [UIImage imageWithContentsOfFile:@“folder1/folder2/1.png”];
daca inlocuiesc imageWithContentsOfFile cu imageNamed e tot aia, nu incarca.
Am rezolvat partial problema
[UIImage imageAtPath:[[NSBundle mainBundle] pathForResource:@“1” ofType:@“png” inDirectory:@”“]];
[NSBundle mainBundle] imi returneaza calea spre .app
Nu prea inteleg de unde le scot astia, documentatia nu spune nimic de imageAtPath si primesc si o notificare in xcode, ceva de matching method signature.
Problema 3)
Am observat ca grupurile mele nu mai exista in aplicatia finala, le-a pus deavalma in rootul aplicatiei. Problema mea este ca fiecare folder avea png-uri cu aceleasi denumiri, si cum nu pot exista toate in acelasi loc mi le-a pus amestecate din cate vad, dintr-un folder cateva, din altul cateva….
Pot sa compilez aplicatia si sa-si mentina structura de fisiere pe care o vad eu in Resources, adica cu foldere?
Stiu ca google e bun, ieri am cautat toata ziua despre problema 2, am gasit abia azi. Acuma la fel, nu stiu ce sa caut incat sa obtin rezultate. Daca programatorii de pe macuser sunt prea ocupati sau nu vor sa raspunda am sa fac din topicul asta un fel de HOW TOs, adica eu am sa centrez, eu am sa dau cu capul, pentru cei care o sa se apuce mai tarziu si o sa intampine aceleasi probleme.
Pentru mine a fost de ajuns sa adaug in resurse folderul cu albastru (Create folder references ....) si sa folosesc comanda de mai sus. Imi place ca inDirectory nu conteaza daca are “/” sau nu la sfarsit.
4. Este posibil sa incarc poze de diferite dimensiuni in liniile unui tabel astfel incat toate sa se vada la dimensiunea lor originala?
if (cell == nil) {
// No reusable cell was available, so we create a new cell and configure its subviews.
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
charImage = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@“glyphs/a/1.png”]] autorelease];
CGRect imageFrame = charImage.frame;
charImage.frame = imageFrame;
charImage.center = CGPointMake(30, 23);
charImage.tag = kCharImageTag;
charImage.autoresizingMask = UIViewAutoresizingNone;
[cell.contentView addSubview:charImage];
} else {
// A reusable cell was available, so we just need to get a reference to the subviews using their tags.
charImage = (UIImageView *)[cell.contentView viewWithTag:kCharImageTag];
}
// Set the relevant data for each subview in the cell.
// Set the image in the cell
charImage.image = [self imageForIndex:ch.charId];
Doar prima poza se vede bine, restul sunt stretchuite la dimensiunea ei
pus la sfarsit cand se schimba imaginea. Dar acum am alta problema, nu pot centra imaginea corect, se vede blurry. Pentru centrat am folosit:
charImage.center = CGPointMake(30, 23);
Vedeti si voi mai jos rezultatul. primul este centrat, al doilea nu este centrat.
Raspuns:
Trebuie calculat un nou frame si pus la coordonate rotunjite, daca poza avea dimensiuni impare, dupa centrare ii ieseau de fapt valori cu virgula, si asta o face blurry. Cam peste mana tot codul asta, dar functioneaza:
5. Cum fac un UITable sa nu fie afisat pe tot ecranul, ci doar intr-un frame specificat de mine? Logic mi s-a parut cu initWithFrame, dar imi crashuieste totul si am inteles ca nu va mai exista metoda asta in viitor.
5. Cum fac un UITable sa nu fie afisat pe tot ecranul, ci doar intr-un frame specificat de mine? Logic mi s-a parut cu initWithFrame, dar imi crashuieste totul si am inteles ca nu va mai exista metoda asta in viitor.
eventual cu un subview (pui UITable intr-un subview)? dar nu programatic, ci il desenezi in IB si-l incarci cu ceva de genul [myView.contentView loadNibNamed:@“MyCustomView” owner:self options:nil].
Daca reusesti sa afli cum anume e la roRadio, sunt si eu interesat. (partea cu masca de tabel.)
Btw: fac programare iPhone de aproximativ 7 luni, deci sunt incepator. Daca lucrezi si tu pe acealsi domeniu, putem schimba pareri pe Y!: ovidiu_sarbanescu
nu m-am interesat cum se face o masca dar alta solutie ar fi cum zice Randy cu un tabel intr-un uiview scalat manual, iar deasupra lui pus un png cu transparenta in zona tabelului. doar ca mie imi trebuia programatic si n-am reusit sa-l fac mai mic decat ecranul.
faci programare noaptea acasa sau de ce te consideri incepator dupa 7 luni?
well, eu fac de prin August- Septembrie, seara cand termin serviciul , asa ca ma pot considera inca incepator. Oricum, am sa fiu mai activ pe acest topic de acum inainte.