自定义视图不会添加子视图

时间:2015-10-06 03:55:14

标签: ios swift uiview

我有一个视图控制器,它继承了前一个视图中的视图,就像一个带有视频迷你播放器的浮动可拖动视图控制器(如YouTube应用程序)。当我展示第二个vc时,我实际上是在将所有子视图添加到新的自定义视图之前隐藏自己的视图,因此看起来第一个视图控制器仍然存在。

这个新的自定义视图正在添加我的UIButton,而不是我的两个自定义UIViews。其中一个自定义视图包含一个无法找到的tableview。我担心这可能是一个约束问题,我需要以编程方式或类似的方式向新视图添加约束。有什么想法吗?

onView =第一个控制器的视图

    class DetailViewController: UIViewController, UIGestureRecognizerDelegate {
    var initialFirstViewFrame: CGRect!
        var onView: UIView!
        var isExpandedMode: Bool!
        var player: UIWebView!
        var youtubeFrame: CGRect!
        var tblFrame: CGRect!
        var restrictOffset: CGFloat!
        var restrictTrueOffset: CGFloat!
        var restictYaxis: CGFloat!
        var transparentView: UIView!

        @IBOutlet weak var viewTable: UIView!
        @IBOutlet weak var tblView: UITableView!
        @IBOutlet weak var viewYouTube: UIView!
        @IBOutlet weak var btnDown: UIButton!

    override func viewDidLoad() {


            var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.8 * Double(NSEC_PER_SEC)))
            dispatch_after(dispatchTime, dispatch_get_main_queue(), {

                self.calculateFrames()


            })

            var pan: UIPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: "panAction")
            pan.delegate = self
            self.viewYouTube.addGestureRecognizer(pan)
            isExpandedMode = true
            self.btnDown.hidden = true

        }
    func calculateFrames() {

            youtubeFrame = self.viewYouTube.frame
            tblFrame = self.viewTable.frame

            UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.Slide)

            self.viewYouTube.translatesAutoresizingMaskIntoConstraints() == true
            self.viewTable.translatesAutoresizingMaskIntoConstraints() == true

            self.viewYouTube.frame = youtubeFrame
            self.viewTable.frame = tblFrame

            self.player.backgroundColor = UIColor.purpleColor()
            self.viewYouTube.backgroundColor = UIColor.greenColor()

            restrictOffset=self.initialFirstViewFrame.size.width-200;
            restrictTrueOffset = self.initialFirstViewFrame.size.height - 180;
            restictYaxis=self.initialFirstViewFrame.size.height-self.viewYouTube.frame.size.height

            self.view.hidden = true
            transparentView = UIView(frame: self.initialFirstViewFrame)
            transparentView.backgroundColor = UIColor.blackColor()
            transparentView.alpha = 0.9

            self.onView.addSubview(transparentView)

/////// self.viewTable and self.viewYouTube don't load. They have AutoLayout constraints in storyboard and I'm trying to add their views to a different UIView/////////////
            self.onView.addSubview(self.viewTable)
            self.onView.addSubview(self.viewYouTube)
            self.onView.addSubview(self.btnDown)
        }

0 个答案:

没有答案