UITableViewCellStyle
İOS 6'daki yeni yöntemleri kullanırken nasıl ayarlanacağını çözmeye çalışıyorum UITableView
.
Önceden, bir oluştururken numaralandırmayı arama sırasında farklı türlerde varsayılan hücreler oluşturacak şekilde UITableViewCell
değiştirirdim, ancak toplayabildiğim kadarıyla durum artık böyle değil.UITableViewCellStyle
initWithStyle:
UITableView
Eyaletler için Apple belgeleri :
Dönüş Değeri : İlişkili yeniden kullanım tanımlayıcısına sahip bir UITableViewCell nesnesi. Bu yöntem her zaman geçerli bir hücre döndürür.
Tartışma : Performans nedenleriyle, bir tablo görünümünün veri kaynağı, hücreleri tableView: cellForRowAtIndexPath: yöntemindeki satırlara atadığında genellikle UITableViewCell nesnelerini yeniden kullanmalıdır. Tablo görünümü, veri kaynağının yeniden kullanılmak üzere işaretlediği UITableViewCell nesnelerinin bir sırasını veya listesini tutar. Tablo görünümü için yeni bir hücre sağlamanız istendiğinde veri kaynağı nesnenizden bu yöntemi çağırın. Bu yöntem, mevcut bir hücre varsa kuyruğundan çıkarır veya önceden kaydettiğiniz sınıf veya uç dosyasına göre yeni bir hücre oluşturur.
Önemli : Bu yöntemi çağırmadan önce registerNib: forCellReuseIdentifier: veya registerClass: forCellReuseIdentifier: yöntemini kullanarak bir sınıf veya uç dosyası kaydetmeniz gerekir.
Belirtilen tanımlayıcı için bir sınıf kaydettiyseniz ve yeni bir hücre oluşturulması gerekiyorsa, bu yöntem hücreyi initWithStyle: reuseIdentifier: yöntemini çağırarak başlatır. Uç tabanlı hücreler için bu yöntem, hücre nesnesini sağlanan uç dosyasından yükler. Mevcut bir hücre yeniden kullanım için uygunsa, bu yöntem bunun yerine hücrenin preparForReuse yöntemini çağırır.
Bu nasıl benim yeni cellForRowAtIndexPath
yeni yöntemlerin uygulanması sonrasında görünüyor:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"cell_identifier";
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:cellIdentifier];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
return cell;
}
Şimdiye kadar sahip olduğum kod iyi çalışıyor ancak her zaman varsayılan stili döndürüyor. Nasıl gibi diğer stilleri ile hücreleri oluşturmak, böylece bu değiştirebilir UITableViewCellStyleDefault
, UITableViewCellStyleValue1
, UITableViewCellStyleValue2
ve UITableViewCellStyleSubtitle
?
Alt sınıfa ayırmak istemiyorum UITableViewCell
, sadece varsayılan türü iOS 6'dan önce yapabildiğim gibi değiştirmek istiyorum. Apple'ın gelişmiş yöntemler sunması garip görünüyor, ancak bunların uygulanmasını desteklemek için asgari belgelerle.
Bu konuda uzmanlaşan veya benzer bir soruna giren var mı? Herhangi bir makul bilgi bulmakta zorlanıyorum.
UITableViewCell
diğer varsayılan stilleri elde etmek için alt sınıflara sahip olmak , sadece gereksiz dosyalar oluşturduğu için bir acıdır. Yorumunuz ve şüphelerimi teyit ettiğiniz için teşekkürler.