Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带标签的分页滚动视图_Ios_Objective C_Iphone_Swift_Uiscrollview - Fatal编程技术网

Ios 带标签的分页滚动视图

Ios 带标签的分页滚动视图,ios,objective-c,iphone,swift,uiscrollview,Ios,Objective C,Iphone,Swift,Uiscrollview,我正在尝试创建一个滚动视图,您可以在不同的标签之间滚动。作为说明,我有以下图像: 我想创建底部的scrollView,我已经尝试创建了一个复制,但在我的例子中,它只是在scrollView中添加了“Book”,如何在标签之间创建更小的间距。因为在我的代码中,每个self.view.frame.width有一个标签 categoryArray = NSArray(objects: "Book", "Elektronik") var textWidth = 0 for val in categ

我正在尝试创建一个滚动视图,您可以在不同的标签之间滚动。作为说明,我有以下图像:

我想创建底部的scrollView,我已经尝试创建了一个复制,但在我的例子中,它只是在scrollView中添加了“Book”,如何在标签之间创建更小的间距。因为在我的代码中,每个self.view.frame.width有一个标签

categoryArray = NSArray(objects: "Book", "Elektronik")

var textWidth = 0

for val in categoryArray!
{
    var textLabel: UILabel = UILabel(frame: CGRectMake(0, CGFloat(textWidth), categoryScrollView!.frame.width, categoryScrollView!.frame.height))
    textLabel.textAlignment = NSTextAlignment.Center
    textLabel.text = val as NSString
    categoryScrollView?.addSubview(textLabel)

    textWidth = textWidth + Int(textLabel.frame.size.width)

    if textWidth > Int(self.view.frame.width) {
        categoryScrollView?.contentSize = CGSizeMake(CGFloat(textWidth), categoryScrollView!.frame.height);

    }


}

我对swift的理解不是很好,但在我看来,代码在每次迭代中都在推进标签框的y位置,而不是x位置。换言之,改变:

CGRectMake(0, CGFloat(textWidth), categoryScrollView!.frame.width, categoryScrollView!.frame.height)
致:

CGRectMake(CGFloat(textWidth), 0, categoryScrollView!.frame.width, categoryScrollView!.frame.height))