swift - 水平 ScrollView 中的自定义 View 。是否可以?

标签 swift uiscrollview ios9 custom-view

我正在设计一个应用程序,它有一个屏幕,其中有一个水平 ScrollView ,我根据数组中的数据数量动态填充 UIView。我以编程方式做了同样的事情。我在下面提到了我的方法。

1) 我放了一个用于水平滚动的 ScrollView ,并在我的类中为它创建了一个引用。

2) 我根据我的代码以编程方式添加 View -

 var imagevieww = UIImageView()

    @IBOutlet weak var hrzntlscrl: UIView!

    @IBOutlet weak var scrollview: UIScrollView!


    override func viewDidLoad()

    {
        super.viewDidLoad()
        let viewcount = 15




        for var i = 0; i < viewcount; i++
        {

            let viewnew = UIView(frame: CGRectMake( hrzntlscrl.frame.origin.x+110*CGFloat(i), 0, 100.0, hrzntlscrl.frame.height))
            viewnew.backgroundColor = UIColor.orangeColor()
            imagevieww = UIImageView(frame: CGRectMake(0, 10, 100.0, 50))
            imagevieww.backgroundColor = UIColor.blackColor()
            viewnew.addSubview(imagevieww)

            scrollview.addSubview(viewnew)
            }

        }

所以我只是想知道,而不是创建一个 View 和相应的 subview ,例如。在这里 imageview 并以编程方式设置它们的位置和帧大小,我可以在我的 IB 中设计一个标准的自定义 View 并在我的 for 循环中使用它的任何引用而不是以编程方式创建一个吗?如果我们能做到这一点,请给我一些步骤。

最佳答案

是的。这个有可能。您可以使用

从 Nib 实例化一个类
let customView: CustomView = NSBundle.mainBundle().loadNibNamed("CustomViewNibName", owner: self, options: nil)[safe: 0] as? CustomView

您还需要将水平 ScrollView 的内容大小设置为所有 View 的组合宽度。

但我认为使用 UICollectionView 代替 ScrollView 会更好地满足您的用例,UICollectionView 在更简单的实现中完成所有这些以及更多工作。

关于swift - 水平 ScrollView 中的自定义 View 。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34430947/

相关文章:

xcode - 在通用 Storyboard中使用 present 作为 popover

ios - 使用 Swift 通过 UITextField 的 NSTextAlignment 进行动画更改

ios - 更改单元格高度后 UITableView 在滚动时跳动

ios - 滚动结束时 ScrollView 缩放,如 Fancy

IOS9 ContactsUI 具体情况

ios - 在tableView中点击不同的行后在collectionView中显示不同的数组

ios - 如果在数字之前按下计算器应用程序中的运算符(operator)按钮,则应用程序崩溃

ios - 以编程方式向 UIScrollView 添加按钮时如何禁用水平滚动?

ios - 消除 UINavigationBar 和 UIVisualEffectView 之间独特的模糊边缘

ios - 如何将 uilabel 高度设置为 0。或将 uibleviewcell 高度设置为 0?