gpt4 book ai didi

ios - 以编程方式选择显示在 UIScrollView 中的当前按钮

转载 作者:行者123 更新时间:2023-11-28 22:33:59 25 4
gpt4 key购买 nike

我有一个启用了分页的 UIScrollView。在每一页我都有一个按钮。我希望每次滑动时都会选择 UIScrollView 中显示的按钮。

我猜测解决方案将基于

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

但是如果不对范围和偏移进行过多计算,我怎么知道显示的是哪个按钮?

谢谢

最佳答案

最简单的方法是为 UIScrollView 中的每个 UIButton 设置一个标签,该标签等于 pageNumber+1(+1 因为对于页面 0,标签将为 1,所有默认标签均为 0,因此您可以找到按钮)。然后,您可以根据需要在 viewDidEndDecelerating/viewDidScroll 或其他 ScrollView 委托(delegate)方法中计算标签。我正在 viewDidEndDecelerating 中进行所有计算,如下所示:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
int page = scrollView.contentOffset.x / scrollView.frame.size.width;
//now you have the current page so you can get the button
UIButton *button =(UIButton *) [scrollView viewWithTag:page+1]; //the +1 that I was talking about above
button.selected = YES;
}

您可能还想取消选择其他按钮,这样您也可以通过标签找到它们,例如:

for(int i = 1; i<=numberOfPages; i++) { 
UIButton *button =(UIButton *) [scrollView viewWithTag:i];
button.selected = NO;
}

但请确保在启用按钮的部分之前调用 for 循环。

关于ios - 以编程方式选择显示在 UIScrollView 中的当前按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16648485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com