Ios UIScrollView肋骨分页大小

Ios UIScrollView肋骨分页大小,ios,uiscrollview,pagination,Ios,Uiscrollview,Pagination,首先从localScope应用程序查看此图片: 我有两个(简单?)问题: 我怎样才能像这样为我的图标分页 如何检测“已选择”的女巫图标 谢谢。一个干净且内存高效的方法是使用UINavigationController&UIToolBar,就像这样- 当用户点击UIToolBar中的任何按钮时,通过弹出并按下它们来调用特定的viewController 我希望可以很清楚地看到,外观和感觉可以接近您在图像中显示的内容,我指的是功能。回答第一个问题:您必须使您的滚动视图与页面大小一样大,启用其Pa

首先从localScope应用程序查看此图片:

我有两个(简单?)问题:

  • 我怎样才能像这样为我的图标分页

  • 如何检测“已选择”的女巫图标


  • 谢谢。

    一个干净且内存高效的方法是使用
    UINavigationController
    &
    UIToolBar
    ,就像这样-

    当用户点击
    UIToolBar
    中的任何按钮时,通过弹出并按下它们来调用特定的
    viewController


    我希望可以很清楚地看到,外观和感觉可以接近您在图像中显示的内容,我指的是功能。

    回答第一个问题:您必须使您的滚动视图与页面大小一样大,启用其
    PaginEnabled
    属性,然后以某种方式使其显示元素并对超出其边界的触摸作出响应。请参阅此代码和以下链接:

    @interface SmallPagedScrollView: UIScrollView <UIScrollViewDelegate> {
        UIEdgeInsets responseInsets;
        NSMutableArray *items;
    }
    
    @implementation SmallPagedScrollView
    
    @synthesize responseInsets;
    
    - (id)init
    {
    if ((self = [super initWithFrame:CGRectMake(x, y, w, h)]))
    {
        self.backgroundColor = [UIColor clearColor];
        self.pagingEnabled = YES;
        self.showsHorizontalScrollIndicator = NO;
        self.showsVerticalScrollIndicator = NO;
        self.clipsToBounds = NO;
    
        CGFloat hInset = 3 * self.width / 2;
        self.responseInsets = UIEdgeInsetsMake(0.0f, hInset, 0.0f, hInset);
        self.delegate = self;
    
        items = [[NSMutableArray alloc] init];
    }
    return self;
    }
    
    - (void)dealloc
    {
    [items release];
    [super dealloc];
    }
    
    - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
    {
    CGPoint parentLocation = [self convertPoint:point toView:self.superview];
    CGRect responseRect = self.frame;
    responseRect.origin.x -= self.responseInsets.left;
    responseRect.origin.y -= self.responseInsets.top;
    responseRect.size.width += self.responseInsets.left + self.responseInsets.right;
    responseRect.size.height += self.responseInsets.top + self.responseInsets.bottom;
    
    return CGRectContainsPoint(responseRect, parentLocation);
    }
    

    什么是“Uiscrolview”?请在你们的问题上再努力一点。我错过了一个“L”,它不是世界的和!!谢谢,事实上你是对的,在ios中这是“正常”的方式,但我想尝试一些新的东西:)你可以尝试一些新的东西,即使使用正常的方式;)我的意思是,底层实现可以通过这种经过时间测试的方式(使用uitoolbar+naviagation…)实现,但UI和外观让人觉得您可以进行创新。这是极限。我错过了一个“L”,我得到了-1 ok!!Srikar,你的方法是做我需要的事情的最好方法,因为我只有3个图标,所以我会使用定制的选项卡。谢谢你,我明天会在工作中尝试,并会告诉你我是否这样做以及如何做。老实说,我没能做到这一点,我发现“mhpagingscollview”可以做我需要的事情,但我仍然想知道它是如何工作的,所以我在寻找她的源代码。但最后,我认为Srikar解决方案对我来说是最好的方法,因为我只有3个图标可以滚动。
    int selectedIndex = (scrollView.contentOffset + scrollView.size.width / 2) / scrollView.size.width;