我有一個自定義的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];
}
...
}
發佈相關代碼。 – Bourne
多線程,使用Grand Central Dispatch或NSOperation。但一定要在主線程/隊列中完成UI工作! –
手勢跟蹤是在特殊的運行循環模式下完成的。你的「其他班級」如何/何時發送委託消息?如果通過定時器等,您可能需要將該定時器添加到適當的運行循環模式。請參閱Apple的NSRunLoop參考和線程編程指南。 –