响应者与响应者链及NSCoding归档技术详解
1. 视图高亮逻辑
在某些操作中,我们需要实现视图的高亮效果。以下是一段实现该功能的代码:
shouldHighlightRedRect = NO;
shouldHighlightBlueRect = NO;
if( NSPointInRect(mouseDownPoint, redRect) &&
NSPointInRect(mouseLocation, redRect) )
shouldHighlightRedRect = YES;
else if( NSPointInRect(mouseDownPoint, blueRect) &&
NSPointInRect(mouseLocation, blueRect) )
shouldHighlightBlueRect = YES;
[self setNeedsDisplay:YES];
此方法逻辑简单,先获取常见的红色和蓝色矩形,将两个高亮标志都设为 NO 。接着检查鼠标按下点和当前位置是否在某个矩形内,若是则设置相应的高亮标志,最后重新显示视图。构建并运行代码,可随意在矩形内外点击拖动,高亮效果会提供正确的视觉反馈。
在Windows和Views应用中,当在文本框中点击输入,再点击视图时,会发现文本框的光标仍闪烁并可接受键盘输入。这引发了思考:是视图缺少使其“可选择”的操作,还是有更重要的因素在起作用?
2. 响应者与响应者链
当用户点击视图
响应者链与NSCoding归档解析
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



