2016-04-20 121 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];