Bunun AutoResizingMasks etrafında dönen basit bir yanıt olacağına inanıyorum, ancak başımı bu konu etrafında sarmalayamıyorum.Otomatik Boyutlandırma UITableView Başlıkları Döndürme (Çoğu iPad'de)
2 UITableViews'ı yan yana gösteren bir iPad uygulamasına sahibim. Portre'den Yatayya ve arkaya doğru döndüğümde, UITableView'deki hücreler dönüş sırasında mükemmel şekilde, anında, yeniden boyutlandırılır. UITableViewCellStyleSubtitle UITableViewCells (şu an için alt sınıf değil) kullanıyorum ve UITableView'ı, üst, sol ve alt kenarlara (sol UITableView için) sabitlemek ve esnek bir genişliğe sahip olmak için IB'de ayarlayın. Ben burada
- (UIView *)tableView:(UITableView *)tableView
viewForHeaderInSection:(NSInteger)section
için kendi UIView nesnesi temin ediyorum
I (başka bir sınıftan bir sınıf yöntemi olarak adlandırılır) şimdiye kadar bu var:
+ (UIView *)headerForTableView:(UITableView *)tv
{
// The view to return
UIView *headerView = [[UIView alloc]
initWithFrame:CGRectMake(0, 0, [tv frame].size.width, someHeight)];
[headerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin];
// Other layout logic... doesn't seem to be the culprit
// Return the HeaderView
return headerView;
}
Yani, ya yönelim, her şey istediğim gibi yüklenir. Rotasyondan sonra, reloadData öğesini manuel olarak çağırırsam veya uygulamam tetiklenene kadar beklerse veya UITableView öğesini kaydırırsa, headerViews yeniden boyutlandıracak ve kendilerini uygun şekilde gösterecektir. Anlayamadığım şey, AutoResizeMask özelliğinin doğru şekilde ayarlanmasını sağlamak, böylece üstbilginin hücreler gibi yeniden boyutlandırılmasıdır.
: başlıklarını genişlikleri tabloyla değişen olmadığını sorun, onların yükseklikleri değiştirmek beklediklerini veya gerçekleşmesi değişiklikler animasyonlu edilmiyor yani, masanın dönüşü ile? –
Bunu uzun zamandır görmedim, ama bir şey derhal gözden geçirme üzerine bana sıçradı. Benim sorunum esnek genişlik VE esnek sağ ve sol kenar boşlukları ile ilgili olduğunu tahmin ediyorum. Böyle bir senaryo altında yatay yeniden boyutlandırma davranışını nasıl tahmin edeceğini kim bilebilir? AutoResizingMask'ı sadece esnek genişliğe ayarlamanın cevabın olacağını söyleyebilirim. Yine de, aşağıda söylediğim gibi tamamen farklı bir çözüme geçtim. – mbm29414