2017-02-14 88 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

相關問題