我有一个自定义UIView,它是另一个类的委托,它不断向它发送消息(更新UILabel的文本)。此自定义视图还具有UIScrollView作为子视图。问题是,当我平移/捏合滚动视图时,没有收到任何代理消息(仅在交互完成后)。
我怎么能让它一直收到消息?
这是另一个类向其委托发送消息的方式:
[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(onTick:)
userInfo:nil
repeats:YES];
- (void)onTick:(NSTimer *)timer {
NSString *label = ...
if ([delegate respondsToSelector:@selector(updateLabelText:)]) {
[delegate updateLabelText:label];
[delegate updateLabelText:label];
}
...
}
答案 0 :(得分:0)
将UIPanGestureRecognizer / UIPinchGestureRecognizer添加到您的UIScrollView并监听委托方法:
Regulating Gesture Recognition
– gestureRecognizerShouldBegin:
– gestureRecognizer:shouldReceiveTouch:
Controlling Simultaneous Gesture Recognition
– gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
答案 1 :(得分:0)
使用[[NSRunLoop currentRunLoop] addTimer:timer forMode:UITrackingRunLoopMode];
解决了这个问题。谢谢@Jens Kilian!