ang*_*son 6 uipickerview xamarin.ios ios
我刚刚发现如果我做以下事情:
UIPickerView在我的视图中的按钮然后它还没有选择最后一个项目.
我试图通过在didSelectRow方法被触发时简单地输出到控制台,并且当车轮稳定在最后一个项目时它会触发.
我可以检测到车轮仍然在滚动,这样我可以延迟检查它是否有选定值,直到它稳定下来?
如果重要的是,我正在使用MonoTouch进行编程,但如果您有一个代码示例,我可以很好地阅读Objective-C代码以重新实现它.
小智 7
由于动画键不起作用,我编写了这个简单的函数,用于检测UIPickerView当前是否正在移动.
-(bool) anySubViewScrolling:(UIView*)view
{
if( [ view isKindOfClass:[ UIScrollView class ] ] )
{
UIScrollView* scroll_view = (UIScrollView*) view;
if( scroll_view.dragging || scroll_view.decelerating )
{
return true;
}
}
for( UIView *sub_view in [ view subviews ] )
{
if( [ self anySubViewScrolling:sub_view ] )
{
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
它最终返回真正的五个级别.
带有@DrainBoy 答案扩展名的Swift 4(更新)版本
extension UIView {
func isScrolling () -> Bool {
if let scrollView = self as? UIScrollView {
if (scrollView.isDragging || scrollView.isDecelerating) {
return true
}
}
for subview in self.subviews {
if ( subview.isScrolling() ) {
return true
}
}
return false
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7804 次 |
| 最近记录: |