Größenänderung UITableViewCell Inhalt Breite automatisch

Ich habe einige code, der erstellt eine Tabellenzelle mit einem Schieberegler. Es ist ziemlich einfach, und die Größe gut auf dem iPhone. Ich habe anonymisiert es hier ein bisschen:

UITableViewCell* cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Foo"] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
CGRect contentViewFrame = cell.contentView.frame;
CGRect sliderFrame = CGRectMake(10, 0, 280, contentViewFrame.size.height);
UISlider* slider = [[UISlider alloc] initWithFrame:sliderFrame];
UIImage* minimumImage = [UIImage imageNamed:@"min.png"];
UIImage* maximumImage = [UIImage imageNamed:@"max.png"];
slider.minimumValueImage = minimumImage;
slider.maximumValueImage = maximumImage;
slider.value = 0.5f;
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[cell.contentView addSubview:slider];
[slider release];

Dies ist natürlich falsch bemessen für das iPad. Also mein Erster Gedanke war, die autoresizingMask Eigenschaft UIViewAutoresizingFlexibleWidth. Problem gelöst, richtig? NÖ. Nun auf dem iPhone die Breite der Schieber-plus-images-Inhalte weniger als 280 und, damit es nicht gleich gehen zu Ende-es endet bis etwa 20 Pixel kurz.

Auf dem iPad, die gleiche Sache-die Breite der UISlider passt automatisch die Größe von etwa 20 Pixel kurz von dem Ende der Zelle.

Vielleicht die auto-resize-flag ist, die Aufmerksamkeit auf die nicht-existente accessoryView von der Zelle? Ich habe versucht, es zu nil explizit, aber ich denke, es ist nil standardmäßig, also nichts geändert.

Möchte ich dieser Zelle den Inhalt auf die Größe automatisch auf die "volle" Breite der Zelle, unabhängig von Gerät und Orientierung. Gibt es eine einfache Möglichkeit, dies zu tun?

InformationsquelleAutor der Frage Shaggy Frog | 2010-07-28

Schreibe einen Kommentar