Je souhaite afficher plusieurs colonnes dans un UITableView.Comment afficher plusieurs colonnes dans un UITableView?
Par exemple:
TableView
FName LName Age
----- ----- ---
Abby Michale 34
Je souhaite afficher plusieurs colonnes dans un UITableView.Comment afficher plusieurs colonnes dans un UITableView?
Par exemple:
TableView
FName LName Age
----- ----- ---
Abby Michale 34
Vous pouvez définir une cellule personnalisée dans IB, qui contiendra 3 étiquettes et en fonction:
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *DetailCellIdentifier = @"DetailCell";
UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:DetailCellIdentifier];
if (cell == nil) {
NSArray *cellObjects = [[NSBundle mainBundle] loadNibNamed:@"DetailCell" owner:self options:nil];
cell = (UITableViewCell*) [cellObjects objectAtIndex:0];
}
// setup your cell
}
lorsque vous définissez la cellule IB donnent chaque étiquette une étiquette, alors quand vous avez besoin de mettre un texte là, vous pouvez le récupérer par l'étiquette comme ceci:
label = (UILabel *)[cell viewWithTag:NAME_TAG];
label.text = myObject.name;
et répétez ceci avec d'autres 2 étiquettes. L'étiquette est un nombre unique.
Mettez ce code au lieu // configurer votre commentaire cellulaire
Créer une sous-classe personnalisée UIView
contenant, par exemple, trois éléments UILabel
comme subviews. Définissez ensuite la propriété contentView
de la cellule sur cette vue personnalisée.
ajouter trois labels comme sous viewsinto de content.then de cellules uitableview attribuer des valeurs apprrpriate à ce par exemple:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
//frame should be set accordingly(means should be framed accordingly).
UILabel *l1=[[UIImageView alloc]initWithFrame:CGRectMake(5, 5, 100,100)];
UILabel *l2=[[UILabel alloc]initWithFrame:CGRectMake(110,10,100,80)];
UILabel *l3=[[UILabel alloc]initWithFrame:CGRectMake(115,60,100,50)];
[cell.contentView addSubview:l1];
[cell.contentView addSubview:l2];
[cell.contentView addSubview:l3];
return cell;
}
ce n'est pas une bonne approche pour faire la chose requise voir la réponse ci-dessus qui est la bonne approche pour faire les choses faites –
J'ai créé UIGridView. Je crois que votre problème peut être résolu en utilisant la même technique.
Vous pouvez apprendre le code source de UIGridView. Le code est vraiment court.
Compiler sur iPhone 4 - vraiment laggs ... –
Combien de cellules avez-vous? – Tanin
Nombre de cellules par défaut - 4 colonnes x 9 lignes. Juste compilé l'échantillon téléchargé projekt à l'appareil, et il est vraiment retardé. –
Je pense que la méthode correcte est UICollectionView. Commencé avec UITableView et finalement échoué à un certain point en raison d'un comportement inattendu, tout en essayant d'implémenter le défilement gauche-droite et haut-bas.
S'il vous plaît vérifier ce post impressionnant pour une solution complète et mise à jour: http://www.brightec.co.uk/blog/uicollectionview-using-horizontal-and-vertical-scrolling-sticky-rows-and-columns
Le résultat sera comme ceci:
Beaucoup mieux que les hacks multi-label à coup sûr – jjxtra
peu tard à la fête, mais nous » ve open source notre composant de table entièrement en avant:
https://github.com/flexicious/iOSDataGrid
Quelques captures d'écran:
http://www.ioscomponents.com/Home/IOSDataGrid
Ne hésitez pas à utiliser!
J'ai créé une sous-classe UIView personnalisée nommée "DetailCell" et j'y ai ajouté trois étiquettes. Ajoutez le code écrit ci-dessus sur la tableview de Sous-classe de détail de l'employé UIView.L'exécuter, il n'affiche aucune étiquette sur tabelView. –
Si vous le créez dans IB, vous êtes censé créer un UITableViewCell, pas un UIView.Voir ce lien pour créer des cellules personnalisées en détail: http://developer.apple.com/iphone/bibliothèque/documentation/UserExperience/Conceptuel/TableView_iPhone/TableViewCells/TableViewCells.html –