24、响应者与响应者链及NSCoding归档技术详解

响应者链与NSCoding归档解析

响应者与响应者链及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. 响应者与响应者链

当用户点击视图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值