Iphone 当UIScrollview停止滚动动画时获取标签的值
我正在开发一个无限水平滚动视图,以获取我的应用程序的月份和年份值。我找到了无限滚动的方法,但我不知道当滚动停止动画或拖动时如何获得标签的值。Iphone 当UIScrollview停止滚动动画时获取标签的值,iphone,objective-c,ios,ipad,ios5,Iphone,Objective C,Ios,Ipad,Ios5,我正在开发一个无限水平滚动视图,以获取我的应用程序的月份和年份值。我找到了无限滚动的方法,但我不知道当滚动停止动画或拖动时如何获得标签的值。 当滚动结束动画/拖动或我需要更改我的组件时,是否有任何方法可以使用我的上述组件获取月份值 提前感谢。这取决于您的scrollView实现,通常您可以使用 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 详细信息请查看。理想情况下,您的scrollView知道哪个视图被移动到中心
提前感谢。这取决于您的scrollView实现,通常您可以使用
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
详细信息请查看。理想情况下,您的scrollView知道哪个视图被移动到中心,并且可以通过一些自定义方法返回它。下面是一些从主视图检索子视图的代码 -在您的scroll委托ScrollDiEnd方法中:
UIView v = nil;
for(v in yourscroll.subviews){
if ([v isKindOfClass:UILabel]){
UILabel * lbl = v(UILabel *);
if (lbl.tag == yourSelectedLabelTag){
NSLog(lbl.text);
}
}
}
注意:您必须使用scrollview中的标签视图创建标签。找到解决方案了吗
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//some logics go here..........
CGPoint point = scrollView.center;
for (UIView *myView in scrollView.subviews)
{
if(CGPointEqualToPoint(myView.center, point) == YES )
{
if([myView isKindOfClass:[UILabel class]])
{
UILabel *label = (UILabel *)myView;
NSLog(@"Month is %@", label.text);
}
}
}
}
上述代码将返回滚动视图中心的标签 嘿,我的问题是,当滚动结束时,如何获取“yourSelectedLabelTag”……如果有另一个子视图具有相同的中心点,此代码将无法工作,并且可能在NSLog语句中崩溃。