【问题标题】:UIScrollView and PageControl: space between viewsUIScrollView 和 PageControl:视图之间的空间
【发布时间】:2011-07-06 07:17:50
【问题描述】:

是否可以在 UIScrollView 和 PageControl 显示的视图之间添加一些黑色空间。这些视图中的每一个都是一个简单的视图控制器,其中包含一个 UiImageView,类似于相册。我想添加空间,所以当用户切换“页面”/照片时,两者之间会有一些差距。

    scrollArea.pagingEnabled = YES;
    scrollArea.contentSize = CGSizeMake(scrollArea.frame.size.width * [photos count], scrollArea.frame.size.height);
    scrollArea.showsHorizontalScrollIndicator = NO;
    scrollArea.showsVerticalScrollIndicator = NO;
    scrollArea.scrollsToTop = NO;
    scrollArea.delegate = self;

我不想让图像变小,但这样就可以了。有什么想法吗?

【问题讨论】:

    标签: iphone objective-c uiscrollview uipagecontrol


    【解决方案1】:

    是的,您可以完全控制 UIScrollView 内所有 UIView 的放置以及与滚动视图相关的页面控件的放置。没有完成自动布局,您可以正确设置所有对象的 frame 属性,以便它们“很好地”适合滚动视图的“页面”(可见区域 = 一个“页面”)

    这是一个在每个页面中特定 x,y 处向滚动视图中的多个“页面”添加内容的示例:

    NSMutableArray *myLabels = [NSMutableArray arrayWithCapacity:numPages];
    CGFloat itemX = 10;
    CGFloat itemY = 20;
    CGFloat itemWidth = 40;
    CGFloat itemHeight = 50;
    
    for ( int i = 0; i < numPages; ++i )
    {
        UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake( itemX, itemY, itemWidth, itemHeight )];
        [myScrollView addSubview:lbl];
        [myLabels addObject:lbl];
        [lbl release];
        itemX += myScrollView.frame.size.width;
    }
    

    【讨论】:

    • 感谢您的回复,但我该怎么做呢?我试图让框架比手机屏幕大,但没有成功。
    • 对于滚动视图,您不会增加其框架大小来添加内容,而是增加 contentSize。如果该维度中的 contentSize 不大于该维度的帧大小,则 UIScrollView 将不会在该维度中滚动(左/右上/下)。有关将对象添加到 UIScrollView 的多个页面的一些代码,请参阅我的编辑
    猜你喜欢
    • 2013-02-16
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2021-08-19
    • 1970-01-01
    相关资源
    最近更新 更多