无法在UIScrollView内的UITableViewController的UITableViewCell右侧看到控件

时间:2015-08-01 10:54:43

标签: ios swift uiscrollview autolayout

我想在水平UITableViewController's内显示2 UIScrollView。我正在使用AUtoLayoutSize Classes。我的故事板大小为Inferred。这就是我为测试所做的:

  • 添加UIScrollView并从Update Constraints for AutoLayout选择Resolve AutoLayout Issues
  • 设置一个UITableViewController和一个UIViewController,其中继承自UITableViewDelegateUITableViewDataSource(我想尝试两种方式来使用表格视图)
  • 对于他们两个我在右侧添加了UIButton,对于AutoLayout,我选择了顶部和后缘固定在右侧。

运行UITableViewController代码后,我只能使用" n"如果我点击单元格,我可以看到按钮 对于UIViewController表格视图,我根本看不到按钮。

这是一个打印屏幕:
enter image description here

这是滚动视图控制器的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    self.automaticallyAdjustsScrollViewInsets = false

    let testTableVC = self.storyboard!.instantiateViewControllerWithIdentifier("TestTableViewController") as! TestTableViewController;
    let testVC = self.storyboard!.instantiateViewControllerWithIdentifier("TestViewController") as! TestViewController;

    var bounds = UIScreen.mainScreen().bounds
    var width = bounds.size.width
    var height = bounds.size.height;

    scrollView!.contentSize = CGSizeMake(2*width, height);


    let viewControllers = [testTableVC, testVC]

    var idx:Int = 0;


    for viewController in viewControllers {
        // index is the index within the array
        // participant is the real object contained in the array
        addChildViewController(viewController);
        let originX:CGFloat = CGFloat(idx) * width;
        viewController.view.frame = CGRectMake(originX, 0, width, height);
        scrollView!.addSubview(viewController.view)
        viewController.didMoveToParentViewController(self)
        idx++;
    }

} 

编辑:

https://github.com/adrianstanciu24/scrollviewtest

1 个答案:

答案 0 :(得分:1)

我已经创建了解决此问题的拉取请求。错误的是您使用了默认UITableViewCell并在故事板中添加了一些自定义内容。然后,表格视图将默认单元格出列,并从故事板中绘制默认单元格的顶部(边缘有边距 - 因此只有按钮的右侧部分可见)。您需要创建自定义UITableViewCell,连接插座并将自定义单元格出列,默认情况下您不知道有关按钮的任何信息。