2011-03-04 84 views

回答

0

可以通過實現在屏幕截圖是相同的:

(1)與具有類似的UITableViewStyleGrouped的背景顏色的圖父視圖控制器。

(2)添加上一個UIImageView照片這將是一個子視圖(1)

(3)在右側再次添加的UITableView(分組風格)作爲一個子視圖(1)

正確設置兩個子視圖的框架並相應地設置截圖的佈局,並使用委託「邏輯連接」兩個子視圖。

編輯:使用[UIColor colorWithPatternImage :(UIImage *)圖像]可以實現背景顏色。只需從iPhone模擬器上的任何示例應用程序裁剪背景。

+0

這並沒有達到他想要的效果 - 他希望隨後的表格部分爲全寬。 – occulus 2011-03-04 16:02:43

+0

我曾經需要兩個子視圖互相同步滾動。左和右。您也可以通過委派輕鬆實現。 SO上有很多描述這個的帖子。 – Bourne 2011-03-04 16:04:40

+0

不能相信即使你不處於編輯模式,也沒有簡單的方法調用縮進。無論如何....我知道的方式,很多工作要繼承世界;) – masgar 2011-03-04 17:11:58

3

其他解決方案要求您創建自己的背景圖像並使用兩個不方便的表格。我所做的是子類的UITableViewCell和縮進背景的意見,這樣的:

#define INDENT_WIDTH 84 

... 

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    //Indent the background views. 
    CGRect frame = self.backgroundView.frame; 
    frame.origin.x = frame.origin.x + INDENT_WIDTH; 
    frame.size.width = frame.size.width - INDENT_WIDTH; 
    self.backgroundView.frame = frame; 
    self.selectedBackgroundView.frame = frame; 

    //Also indent the UIImageview that contains like a shadow image over the backgroundviews (in grouped tableview style only). 
    for (UIView *subview in self.subviews) { 
     if ([subview isKindOfClass:[UIImageView class]]) { 
      CGRect frame = subview.frame; 
      frame.origin.x = frame.origin.x + INDENT_WIDTH; 
      frame.size.width = frame.size.width - INDENT_WIDTH; 
      subview.frame = frame; 
     } 
    } 
} 

由於內容視圖有一個透明的背景顏色,您可以在左側放置一個UIImageView(例如,在你的故事板電池原型),你應該獲得與聯繫人應用程序中的「添加聯繫人」視圖相同的效果。

+0

我仍然看到了縮進單元格左側的分隔線,但後來意識到它在UITableView中:[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone] ; – 2013-03-01 21:21:28