Objective c 如何获取当前激活的视图?

Objective c 如何获取当前激活的视图?,objective-c,Objective C,嗨,在我的项目中,我在一个.XIB文件中有3个视图。我使用滚动视图一次显示一个视图(当我们只滑动屏幕上显示的一个视图时)。有没有办法确定屏幕上当前显示的是哪个视图?您可以试试这个 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { // tag is 0 , 1 , 2 NSInteger tag = scro

嗨,在我的项目中,我在一个.XIB文件中有3个视图。我使用滚动视图一次显示一个视图(当我们只滑动屏幕上显示的一个视图时)。有没有办法确定屏幕上当前显示的是哪个视图?

您可以试试这个

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
                  willDecelerate:(BOOL)decelerate {
    // tag is 0 , 1 , 2
    NSInteger tag = scrollView.contentOffset.y / singleViewHeight;

}
不允许设置代理

self.scrollView.delegate = self
你可以试试这个

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
                  willDecelerate:(BOOL)decelerate {
    // tag is 0 , 1 , 2
    NSInteger tag = scrollView.contentOffset.y / singleViewHeight;

}
不允许设置代理

self.scrollView.delegate = self


你能用小代码解释一下吗?事实上,我是objective CTry的初学者,为每个视图添加颜色,以便您知道它是否滚动。:)很抱歉,这不是代码编写服务。在Interface Builder中分配标记并在运行时检查它们。一个粗略的方法是跟踪
ScrollViewDiEndDraggin:willDecreate
中的滚动行为,并使用scrollView的
contentOffset
属性确定您在哪个页面上
scrollView:WillendDraging:withVelocity:和TargetContentOffset:
在这里可能特别有用。视图可能会有,请用小代码解释一下好吗?事实上,我是objective CTry的初学者,为每个视图添加颜色,以便您知道它是否滚动。:)很抱歉,这不是代码编写服务。在Interface Builder中分配标记并在运行时检查它们。一个粗略的方法是跟踪
ScrollViewDiEndDraggin:willDecreate
中的滚动行为,并使用scrollView的
contentOffset
属性确定您在哪个页面上<代码>滚动视图:WillendDraging:withVelocity:和TargetContentOffset:在这里可能特别有用。谢谢。但是
singleViewHeight
的值是什么?它应该是3中任何视图的高度(假设它们具有相同的高度),但它始终返回值为0。NSInteger tag=scrollview\u page.contentOffset.y/690;这是因为我的每个视图的Y值都是0。@Shu Khan非常感谢您,先生。这对我有用。我将
scrollView.contentOffset.y
更改为
scrollView.contentOffset.x
。现在我得到每个视图的标记值。对于水平视图,将其设为x表示垂直视图。但是
singleViewHeight
的值是什么?它应该是3中任何视图的高度(假设它们具有相同的高度),但它始终返回值为0。NSInteger tag=scrollview\u page.contentOffset.y/690;这是因为我的每个视图的Y值都是0。@Shu Khan非常感谢您,先生。这对我有用。我将
scrollView.contentOffset.y
更改为
scrollView.contentOffset.x
。现在我得到了每个视图的标记值。对于水平视图,将其设为x,对于垂直视图,将其设为y