用于从布局中展开视图的iOS模拟(xib)

用于从布局中展开视图的iOS模拟(xib),ios,swift,xcode,uiview,nib,Ios,Swift,Xcode,Uiview,Nib,我是iOS新手,正在尝试从android重写应用程序。 我在Android中所做的-我有一个布局-与xcode中的nib相同 然后我将这个视图膨胀到我想要的次数,就像ListView(TableView的android模拟)一样 我需要在iOS上执行此操作: 这意味着有一些容器,比如Android的horisontal LinearLayout,我可以在其中添加nib和类UITableViewCell,并填充数据。 当我问一位iOS开发者时,他告诉我,由于竞争性和缺乏类似android的视图

我是iOS新手,正在尝试从android重写应用程序。 我在Android中所做的-我有一个布局-与xcode中的nib相同

然后我将这个视图膨胀到我想要的次数,就像ListView(TableView的android模拟)一样

我需要在iOS上执行此操作:

这意味着有一些容器,比如Android的horisontal LinearLayout,我可以在其中添加nib和类UITableViewCell,并填充数据。 当我问一位iOS开发者时,他告诉我,由于竞争性和缺乏类似android的视图组,这几乎是不可能做到的,在WebView中做比在本地做要好


那么,请告诉我,有没有一个解决方案——根据需要将多个视图从一个nib膨胀到一个接一个的容器视图?请用Swift回答,我根本不知道Obj-c是的,您可以通过在viewDidLoad中向Xib注册tableView来完成

tableView.registerNib(UINib(nibName: "CustomCellXib", bundle: nil), forCellReuseIdentifier: "CustomCell")
然后在委托方法中执行此操作

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell

        cell.middleLabel.text = items[indexPath.row]
        cell.leftLabel.text = items[indexPath.row]
        cell.rightLabel.text = items[indexPath.row]

        return cell
    }
其中CustomCellXib是您的Xib文件名。 CustomCell是您的CustomCellXib类 @“CustomCell”是用于重用单元格的字符串标识符


请注意,为了完成TableView的工作,您还必须实现其他几个委托方法。

是的,您可以通过在viewDidLoad中向Xib注册TableView来实现

tableView.registerNib(UINib(nibName: "CustomCellXib", bundle: nil), forCellReuseIdentifier: "CustomCell")
然后在委托方法中执行此操作

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell

        cell.middleLabel.text = items[indexPath.row]
        cell.leftLabel.text = items[indexPath.row]
        cell.rightLabel.text = items[indexPath.row]

        return cell
    }
其中CustomCellXib是您的Xib文件名。 CustomCell是您的CustomCellXib类 @“CustomCell”是用于重用单元格的字符串标识符


请注意,为了完成TableView的工作,您还必须实现其他几个委托方法。

这里没有非常复杂的内容。这是一个具有多个部分的常见UITableView

  • 每个节的红色文本标签应作为节标题实现
  • 自定义
    UITableViewCell
    ,带有灰色标签、红色和+按钮
  • 自定义单元格的内容下方应包含UIImageView。由于第一行、中间行和最后一行的图像不同,因此应根据单元格的indexath.row在
    cellForRow
    方法中设置三个图像中的一个

  • 另外,不要听你的iOS开发者的话。当您需要实现比默认值稍复杂的UI时,不应使用
    UIWebView
    。很可能他是在开玩笑;)

    这里没有什么非常复杂的事情。这是一个具有多个部分的常见UITableView

  • 每个节的红色文本标签应作为节标题实现
  • 自定义
    UITableViewCell
    ,带有灰色标签、红色和+按钮
  • 自定义单元格的内容下方应包含UIImageView。由于第一行、中间行和最后一行的图像不同,因此应根据单元格的indexath.row在
    cellForRow
    方法中设置三个图像中的一个

  • 另外,不要听你的iOS开发者的话。当您需要实现比默认值稍复杂的UI时,不应使用
    UIWebView
    。很可能他是在开玩笑;)

    你们看,这里不仅有TableView元素,还有很多其他的标签、开关和其他的东西,除了这个部分上面的屏幕,是的,这就是答案中提到的。可以在单元内创建任何类型的视图。然后将单元格放在tableView中。请搜索如何在xib中创建customCell并在tableView中使用它。你会在那里找到大量的答案和教程。你看,这里不仅有TableView元素,还有许多其他标签和开关以及其他东西,除此之外,在本节上面的屏幕上是的,这就是答案中提到的。可以在单元内创建任何类型的视图。然后将单元格放在tableView中。请搜索如何在xib中创建customCell并在tableView中使用它。你会在那里找到大量的答案和教程。