簡體   English   中英

如何創建類似iPhone聯系人地址單元格的UITableViewCell?

[英]How to create UITableViewCell like iphone Contact Address Cell?

我需要幫助來弄清楚如何在iphone通訊錄應用中創建一個類似於表示地址的單元格。 我不想創建一個地址。 我只需要知道如何在編輯模式下顯示以下內容:

  1. 左側的文本(如UITableViewCellStyleValue2)
  2. 灰線分隔左右
  3. 右側的內容采用自定義格式-根據我要在此處呈現的內容,我將使用不同的格式,並使用不同的高度。

非常感謝任何示例代碼,Apple示例(盡管我找不到),教程或一般指導。 我試圖避免創建自定義容器類來處理左側的所有內容,並根據我想放在右側的內容動態調整大小。 肯定有人已經這樣做了,對吧? :)

編輯模式如下所示: 聯系人地址編輯

您必須創建自己的UITableVIewCellSubclass,這並不像您想的那樣困難。

基本上,您只需要在其中添加2個UITextField和一個UIImageView作為分隔符即可。

我建議您看一下Apple的TableView編程指南,尤其是對Table-View單元格的仔細研究

您的代碼示例與您要實現的代碼非常相似。 這是想法(未經測試的代碼):

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"ImageOnRightCell";

    UITextField*main, *second;
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

        main = [[[UITextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 220.0, 15.0)] autorelease];
        main.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
        [cell.contentView addSubview:main];

        second = [[[UITextField alloc] initWithFrame:CGRectMake(220.0, 0.0, 220.0, 15.0)] autorelease];
        second.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
        [cell.contentView addSubview:second];

    }

    return cell;
}

希望對您有幫助,文森特

我只是做了這樣的事情。 我的解決方案非常特定於我的數據,但總的來說,這就是我的方法:

  1. 左側文本是垂直居中的UILabel
  2. 右側是UITableView
  3. “ 123 Fake Street”將進入一個UITableViewCell子類,該子類的UITextField被拋出到內容視圖中。
  4. “我的城市”和“ ST”將放入一個單獨的UITableViewCell子類中,該子類必須放入UITextField中。我實際上做了一個UITextFieldSubclass,它使我可以控制要繪制的邊框(即drawLeftBorder = YES)。
  5. 您必須決定何時調整大小,但是基本上是在右側添加行,然后在父表視圖上調用begin / endUpdates塊。 確保父表視圖實現heightForRowAtIndexPath並根據數據返回正確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM