如何将多个UIViews包装在一个圆角矩形中进行排序(附图片)?

时间:2013-04-07 22:05:39

标签: ios objective-c ios5 ios6

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

enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

您可以选择选择器作为UIScrollView,在UIView内部附加UIPageControl,两个UIViews(或UIImageViews)提供透明的淡入淡出效果。您可以向滚动视图添加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];
}