0

I have a UICollectionReusableView with buttons, when user taps on buttons I would like to change backgroundColor and borderColor. BackgroundColor changed but borderColor did not change.
Code:

@implementation ClothesTopView

//==============================================================================

- (void)configCell:(id<ClothesTopViewDelegate>)delegate
{
    _clothesTopViewDelegate = delegate;
    for (UIButton *button in _topButtonCollection)
    {
        button.layer.cornerRadius = 2;
        button.layer.borderWidth = 1.f;
        button.layer.borderColor = [UIColor whiteColor].CGColor;
    }
}

//==============================================================================

- (IBAction)topButtonAction:(UIButton *)sender
{
    for (UIButton *button in _topButtonCollection)
    {
        if (button == sender)
        {
            sender.layer.borderColor = [UIColor colorWithRed:226/255.f green:71/255.f blue:49/255.f alpha:1.f].CGColor;
            sender.backgroundColor = [UIColor colorWithRed:226/255.f green:71/255.f blue:49/255.f alpha:1.f];
        }
        else
        {
            button.layer.borderColor = [UIColor whiteColor].CGColor;
            button.backgroundColor = [UIColor clearColor];
        }
    }
    [_clothesTopViewDelegate topViewButtonDidPressWithTitle:sender.titleLabel.text];
}

//=========================================================================

@end
4

1 回答 1

0

应用更改后尝试调用此方法

 [self setNeedsDisplay];

这将告诉 iOS 重绘单元格并且你的边框颜色应该改变。

于 2015-05-08T12:31:26.597 回答