【发布时间】:2015-08-01 10:54:43
【问题描述】:
我试图在水平的UIScrollView 内显示 2 个UITableViewController's。我正在使用AUtoLayout 和Size Classes。我的故事板大小为Inferred。这就是我为测试所做的:
- 添加
UIScrollView并从Resolve AutoLayout Issues中选择Update Constraints for AutoLayout。 - 设置一个
UITableViewController和一个继承自UITableViewDelegate和UITableViewDataSource的UIViewController(我想尝试两种方式来使用表格视图) - 我在右侧添加了
UIButton,对于自动布局,我选择顶部和后沿固定在右侧。
在运行UITableViewController 的代码后,如果单击单元格,我只能从 Button 中输入“n”,我可以看到该按钮。
对于UIViewController 表视图,我根本看不到按钮。
这是我的滚动视图控制器代码:
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++;
}
}
编辑:
【问题讨论】:
-
我会说这将是自动布局问题。您创建了
TestTableViewController和TestViewController,但没有为滚动视图添加任何约束。您是否将该项目托管在公共场所?
标签: ios swift uiscrollview autolayout