触摸事件(如滚动)会将运行循环放入NSEventTrackingRunLoopMode。在那种模式下,似乎无法在屏幕上更新UIView的alpha或位置?
我添加了scrollViewDidScroll
委托,只需为另一个视图设置一些字母值,这是我的scrollview的一个孩子。
只有在滚动停止后才会更新视图。
是否有某种机制强制更新这些视图? 似乎只是滚动视图的孩子不会更新。
此致
答案 0 :(得分:1)
scrollViewDidScroll:
。这意味着每次视图的contentOffset发生变化时,都会调用scrollViewDidScroll:
。
此代码适用于我:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog (@"Scroll view did scroll to %@", @(scrollView.contentOffset.x));
self.label.alpha = scrollView.contentOffset.x / scrollView.contentSize.width;
}
答案 1 :(得分:0)
添加更新内部用户界面的代码
dispatch_async(dispatch_get_main_queue(), ^{
//Code here to which needs to update the UI in the UI thread goes here
});