Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在一个简单的矩形 NSview 中放置了几个按钮,它充当自定义工具栏。在第一次渲染时,按钮/视图按预期出现,但每次按下按钮时(有时根本没有鼠标交互)就会开始出现人工制品。
前
后
我可以通过在所有动作和焦点方法中调用 [self.toolbarView setNeedsDisplay:YES] 来消除伪影,但这似乎是一个 hack,有没有什么干净的方法来处理这个?
这是一个初学者的问题。在 drawRect 方法中
- (void)drawRect:(NSRect)dirtyRect
我使用参数dirtyRect绘制视图的轮廓,假设它是视图的边界,实际上只有按钮周围的区域在按下时变脏。“人工制品”实际上是我的轮廓被画在了错误的地方。
dirtyRect
通过正确使用视图的边界
NSRect drawingRect = [self bounds];
“文物”不再出现。
您只需尝试在 IB 中将按钮的聚焦环设置为“无”。