2017-02-14 85 views
0

我有用swift文件和Xib创建的UIViewController的自定义子类。Swift以编程方式在UITableViewCell内部添加UIViewController或UIView

我想重复使用这个子类在多个地方(因为是复杂的),所以我不想让UITableViewCell或UICollectionViewCell的其他子类,并实现相同的行为。

我的视图控制器也可扩展的,所以我没有一个单一的大小,而是由能见度它的成分决定(我有一些限制收起的时候减少到0或它的扩大,在正常大小)

只有通过子类化单元格才能将此UIViewController(或其视图)添加到单元格(表或集合)的最佳方式是什么?

只需将ViewController的视图添加到contentView(单元格)并将其设置为框架不起作用,视图就会相互显示并且原点朝上。

更新:

例子:

MyViewController:

class MyViewController: UIViewController 
{ 
// has the view property 
} 

了myCell

class MyCell: UITableViewCell 
{ 

var myViewController: MyViewController! 
    override func awakeFromNib() 
    { 
     myViewController = MyViewController() 
     self.contentView.addSubview(myViewController.view) 
    //what to do next to fit the myViewController inside contentView, 
    //myViewController.view is bigger , 
    //and make the cell to follow the myViewController.view size 

    } 

} 

回答

0

你混淆UIViewUIViewController我想。我只想让你自定义UIView

import UIKit 

class CustomView: UIView { 

    override func draw(_ rect: CGRect) { 
     // Drawing code 

     // Do complicated stuff in this view... 
    } 

} 

您可以将其连接到厦门国际银行,如果你想用故事板,但它听起来像你动态地做这一切的代码。然后在需要时创建此视图的实例。例如:

let cv = CustomView() 
    cv.frame = CGRect(x: 100, y: 100, width: 200, height: 200) 
    self.view.addSubview(cv) 
+0

嗨安托万,你误解的问题,视图(或UIViewController中)与厦门国际银行(其中i与其他部件的设计来看,我不就可以直接画)一起创建。我想在自定义单元格中添加此视图,并使该单元格适合我的视图。问题是,所有的子视图都超出了界限并相互重叠。 – 4bottiglie

相关问题