2016-04-20 156 views
0

我想圍繞一列畫一個輪廓。這裏是我的應用程序實際上的樣子:https://gyazo.com/80dffe6a153e82565a610222a43e0c11如何在一列上繪製輪廓?

所以白色的一列代表了我們實際上的位置。但我真的不想那麼做。

其實我這樣做:

if(column == _intOfTheDay){ //intOfTheDay represent the day one where we are actually 
    cell.backgroundColor = [[UIColor whiteColor]colorWithAlphaComponent:0.95];   
} 

我已經試過這樣的事情來獲得我想要的結果更接近:

if(column == _intOfTheDay){ 
    cell.layer.borderWidth = 5.0f; 
    cell.layer.borderColor = [UIColor redColor].CGColor;   
} 

但這裏的問題(沒有所有的由於UICollectionView)的缺陷是它在每個單元格周圍畫一個矩形。而我想要的只是繪製一個矩形,但圍繞所有列。 我該如何處理?

每個幫助將不勝感激,在此先感謝。

+0

子類集合觀察室,有過寫你的平局代碼.... – Spynet

+0

你想設置邊框柱指細胞的數量特定列而不是單元格?矩形盒式或杯子式的形狀是否正確? – Lion

回答

1

如果你不想子類UICollectionViewCell然後使用此:

float borderWidth = 5.0; 
CALayer *leftBorder = [CALayer new]; 
leftBorder.frame = CGRectMake(0.0, 0.0, borderWidth, cell.frame.size.height); 
leftBorder.backgroundColor = [UIColor redColor].CGColor; 
[cell.layer addSublayer:leftBorder]; 

CALayer *rightBorder = [CALayer new]; 
rightBorder.frame = CGRectMake(cell.frame.size.width - borderWidth, 0.0, borderWidth, cell.frame.size.height); 
rightBorder.backgroundColor = [UIColor redColor].CGColor; 
[cell.layer addSublayer:rightBorder]; 
+0

你是真正的MVP哈哈非常感謝,現在我得到了我想要的,我將處理收集視圖的問題 – Kokodelo

1

你可以做這樣的事情,設定了三個邊框列 - 左邊的第一個單元格,右側和頂部和最後一個單元格列的左側,右側和底部以及所有中間單元的左側和右側。您可以使用CALayer設置一個側邊框像下面的例子,

CALayer *TopBorder = [CALayer layer]; 
TopBorder.frame = CGRectMake(0.0f, 0.0f, self.myImageView.frame.size.width, 3.0f); 
TopBorder.backgroundColor = [UIColor redColor].CGColor; 
[cell.layer addSublayer:TopBorder];