2014-01-24 87 views
2

我非常喜歡在這個應用程序中將填充添加到UITableViewCell的方式。我懷疑在Storyboard中是可能的,但是實現這個的最好方法是什麼?我該如何實現UITableViewCell邊距(pic)?

enter image description here

+0

使用表視圖的'contentInsets'屬性。不知道你是否可以在故​​事板中設置它。 –

回答

0

用故事板這是一項艱鉅的佈局在iOS 7. UITableView實現編程可以很容易實現,有一點耐心。

無論如何,考慮到單元格中的信息量,我會傾向於使用UICollectionViewUICollectionViewFlowLayout而不是表格。這可能會讓您更容易,因爲您可以在Storyboard中設置單元大小,部分邊距,項目之間的最小距離等。

2

你可以很容易地在故事板中做到這一點,我認爲。

只需添加一個自定義單元格,灰色背景。 在上面添加一個UIView作爲子視圖,帶有白色背景,並排列大小,使其成爲您的單元格內的一個較小的矩形,因此它會獲得此邊距效果。

然後添加你的標籤/ imageviews在那個白色的子視圖,你很好。

這種方法有什麼問題嗎? 感覺有點像作弊,但爲什麼不呢?

+0

如果你有一個Disclosure Indicator,那麼這是行不通的,因爲它是'UITableViewCell'而不是'UIView'的一部分。 – Sebastian

+0

@Sebastian你可以在你的視圖上設置imageView和你的顯示指示圖像 –

0

所有你需要的是使自定義表格單元格,並添加特定的背景

@implementation CustomTableViewCell 

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 

    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { 

     <init your custom cell here> 

     UIView *bgView = [[UIView alloc] initWithFrame:self.bounds]; 
     CGRect whiteRect = CGRectInset(bgView.bounds, 10, 5); 
     UIView *innerView = [[UIView alloc] initWithFrame:whiteRect]; 
     innerView.autoresizingMask = UIViewAutoresizingFlexibleHeight; 
     innerView.backgroundColor = [UIColor whiteColor]; 
     [bgView addSubview:innerView]; 
     bgView.backgroundColor = [UIColor colorWithRed:225.0/255 green:224.0/255 blue:230.0/255 alpha:1.0]; 
     self.backgroundView = bgView; 

    } 

    return self; 
} 

而且在這裏你可以以同樣的方式向特定視圖分配給你的細胞中添加self.selectedBackgroundView = selectedView而它突出/選擇。

enter image description here