我有一個在該方法上繪製10像素邊框的視圖。 我需要更新邊框顏色,我使用[self setNeedsDisplay]
來使其重繪 的視圖。 因爲我只需要更新我想使用的邊框:[self setNeedsDisplayInRect:rect]
因此它只會繪製邊框。創建一個複雜的CGRect
我怎樣才能得到只有邊界與視圖的其他領域?
感謝 沙尼
我有一個在該方法上繪製10像素邊框的視圖。 我需要更新邊框顏色,我使用[self setNeedsDisplay]
來使其重繪 的視圖。 因爲我只需要更新我想使用的邊框:[self setNeedsDisplayInRect:rect]
因此它只會繪製邊框。創建一個複雜的CGRect
我怎樣才能得到只有邊界與視圖的其他領域?
感謝 沙尼
你不能因爲CGRect
是矩形,所以它是一個凸的形狀,它不能有洞。
但是,您可以將邊界分解爲四個矩形,然後撥打[self setNeedsDisplayInRect:rect]
四次。
另外,如果導入QuartzCore
,你也許可以使用該視圖的圖層的屬性borderColor
:
#import <QuartzCore/QuartzCore.h>
// ...
view.layer.borderWidth = 10;
view.layer.borderColor = [UIColor redColor].CGColor;
// And to change it later
view.layer.borderColor = [UIColor greenColor].CGColor;
你可以讓周圍的邊框(上,右,下,左)的各第四部分CGRects,並與他們每個人的調用方法四倍。