UIPageControl UIControlEventValueChanged - 我如何知道以前的值?

发布于 2024-12-29 05:31:38 字数 323 浏览 0 评论 0原文

我有一个 UIPageControl 对象在我的应用程序中运行良好,只是我没有处理默认的“点击前进/递减”行为。

我需要:

  • 在我的应用程序中处理它
  • 知道 UIPageControl 的当前值和以前的值是什么。

我知道我可以捕获 UIControlEventValueChanged 上的“新”值,但我如何知道“旧”值?我在代码中的多个位置手动 setCurrentPage ,但将旧状态保存在某处可能会导致错误,我认为这是一种黑客行为。

I've got a UIPageControl object working great in my app, except that I am not handling the default 'tap to advance/decrement' behavior.

I need to:

  • handle it in my app
  • know what the current and previous values of the UIPageControl is.

I know I can capture the 'new' value on UIControlEventValueChanged, but how would I know the 'old'? I manually setCurrentPage in several places in my code, but saving the old state somewhere there could lead to bugs and is sort of a hack I think.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七婞 2025-01-05 05:31:38

我不认为有一个属性可以保留上一页,但为什么不定义一个呢?您可以将所有先前的页码保存在 NSMutableArray 对象中;

  • 当您要转到新页面时,请在开始之前将当前页面添加到数组中,
  • 每当您想返回上一页时,获取数组的 lastObject 并删除它。

    - (NSInteger)上一页页码
    {
        NSInteger 页码 = 0;
        if(self.previousPagesArray.count > 0)
        {
            pageNumber = [[self.previousPagesArray lastObject] intValue];
            [self.previousPagesArrayremoveLastObject];
        }
    
        返回页码;
    }
    

-(void)goToNextPage
{
    NSNumber *pageNumber = [NSNumber numberWithInt:self.pageControl.currentPage];
    [self.previousPagesArray addObject:pageNumber];
    //go to next page
}

I don't think there is a property to keep the previous page, but why not define one? You can keep all the previous page numbers in an NSMutableArray object and;

  • When you are about to go to a new page, add the current one to the array before you go,
  • Whenever you want to come back a previous page, get the lastObject of you array and remove it.

    - (NSInteger)previousPageNumber
    {
        NSInteger pageNumber = 0;
        if(self.previousPagesArray.count > 0)
        {
            pageNumber = [[self.previousPagesArray lastObject] intValue];
            [self.previousPagesArray removeLastObject];
        }
    
        return pageNumber;
    }
    

and

-(void)goToNextPage
{
    NSNumber *pageNumber = [NSNumber numberWithInt:self.pageControl.currentPage];
    [self.previousPagesArray addObject:pageNumber];
    //go to next page
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文