0

在下图中,您如何在同一个白色圆角矩形中拥有多选项选择器和水平滚动条?它看起来很适合排序,我很想实现类似的东西。

在此处输入图像描述

4

2 回答 2

1

您需要一个 UITableView 有两个部分(一个名为“section 1”,一个名为“section 2”)。

每个部分都有一行,每一行的“单元格”在其“附件视图”中包含一个选项选择器。

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/tableview_iphone/TableViewCells/TableViewCells.html

该选项选择器不是系统控件库的一部分,我不知道它来自哪里。

于 2013-04-07T23:15:24.193 回答
0

您可以将选项选择器用作 UIScrollView,将 UIPageControl 附加到它,在 UIView 内,两个 UIView(或 UIImageView)提供透明的淡入淡出效果。您将 n 视图添加到滚动视图,每个视图都具有相同的高度/宽度。如果你想要快照,我想你会这样,使用 UIScrollViewDelegates 跟踪当前页面,如下所示:

-(void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    float pageWidth = scrollview.frame.size.width;
    int page = floor((scrollview.contentOffset.x - pageWidth / 2) / pageWidth) + 1;   
    [self scrollview:scrollview scrollToPage: page];       
}

-(void) scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    if( decelerate == FALSE )
    {
        float pageWidth = scrollview.frame.size.width;
        int page = floor((scrollview.contentOffset.x - pageWidth / 2) / pageWidth) + 1;

        [self scrollview:scrollview scrollToPage: page];
    }
}

而 scrollview:scrollToPage: 方法会给你这样的快照:

-(void) scrollview:(UIScrollView*) scrollview scrollToPage:(NSInteger) page
{
    [_myPageControl setCurrentPage:page];

    CGRect frame = scrollview.frame;
    frame.origin.x = frame.size.width * page;
    frame.origin.y = 0;
    [scrollview scrollRectToVisible:frame animated:YES];
}
于 2013-04-08T00:50:38.257 回答