2011-08-15 43 views
5

我是新來的iOS的世界,我想知道如何使與外觀和行爲像一個定製的細胞UITableView當您嘗試上配置一些無線網絡聯接你有你設備。 (你知道UITableViewUITextField s的藍色字體,您可以設置IP地址和所有的東西細胞......)。可編輯的UITableView在每個單元中的文本框

回答

9

要進行自定義的單元佈局確實涉及一個位編碼的,所以我希望這麼想的嚇唬你。

第一件事就是創建一個新的UITableViewCell子類。我們稱之爲InLineEditTableViewCell。你的界面InLineEditTableViewCell.h可能是這個樣子:

#import <UIKit/UIKit.h> 

@interface InLineEditTableViewCell : UITableViewCell 

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

@end 

而且你InLineEditTableViewCell.m看起來是這樣的:

#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 

接下來的事情是你建立你的UITableView,你通常會在您的視圖控制器。如果這樣做,你必須實現UITablesViewDataSource協議方法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath。在爲此插入實現之前,請記住在您的視圖控制器中使用#import "InLineEditTableViewCell"。完成後,執行如下:

- (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"; 
} 

就是這樣!您現在在您的UITableView中有自定義單元格。

祝你好運!

+3

感謝您的幫助。其實我不怕編碼,我不善於操縱圖形元素:) – Zak001