2011-08-15 11 views
5

iOS dünyasında yeniyim ve özel bir hücreye sahip olan özel bir hücreye nasıl sahip olduğunuzu görmek istiyorum. cihaz. (UITextField s içeren ve UITableView hücrelerini içeren, ip adresini ve tüm bu öğeleri ayarladığınız mavi yazı tipiyle birlikte bildiğiniz ...).Her hücrede bir metin alanı ile düzenlenebilir UITableView

cevap

9

Özel bir hücre düzenini yapmak için biraz kodlama yapın, bu yüzden sizi korkutmasın.

İlk şey yeni bir UITableViewCell alt sınıf oluşturuyor. Hadi InLineEditTableViewCell diyelim.

#import <UIKit/UIKit.h> 

@interface InLineEditTableViewCell : UITableViewCell 

@property (nonatomic, retain) UILabel *titleLabel; 
@property (nonatomic, retain) UITextField *propertyTextField; 

@end 

Ve InLineEditTableViewCell.m aşağıdaki gibi görünebilir: Sizin arayüzü InLineEditTableViewCell.h şuna benzer olabilir

#import "InLineEditTableViewCell.h" 

@implementation InLineEditTableViewCell 

@synthesize titleLabel=_titleLabel; 
@synthesize propertyTextField=_propertyTextField; 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     // Here you layout your self.titleLabel and self.propertyTextField as you want them, like they are in the WiFi settings. 
    } 
    return self; 
} 

- (void)dealloc 
{ 
    [_titleLabel release], _titleLabel = nil; 
    [_propertyTextField release], _propertyTextField = nil; 
    [super dealloc]; 
} 

@end 

Sonraki şey set-up UITableView olduğunu normalde görünümü denetleyicisi olduğu gibi olur. Bunu yaparken UITablesViewDataSource protokol yöntemini - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath uygulamalısınız. Uygulamanızı bunun için eklemeden önce, görünüm denetleyicinizde #import "InLineEditTableViewCell"'u unutmayın. Bunu yaptıktan sonra uygulama aşağıdaki gibidir:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    InLineEditTableViewCell *cell = (InLineEditTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"your-static-cell-identifier"]; 

    if (!cell) { 
     cell = [[[InLineEditTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"your-static-cell-identifier"] autorelease]; 
    } 

    // Setup your custom cell as your wish 
    cell.titleLabel.text = @"Your title text"; 
} 

Bu kadar! Artık UITableView'unuzda özel hücreleriniz var.

İyi şanslar!

+3

Teşekkürler Yardımınız için. Aslında kodlamadan korkmuyorum, grafik elemanlarını manipüle etmede iyi değilim :) – Zak001

İlgili konular