Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift tableview最大宽度约束_Swift_Xcode_Tableview - Fatal编程技术网

Swift tableview最大宽度约束

Swift tableview最大宽度约束,swift,xcode,tableview,Swift,Xcode,Tableview,我试图在情节提要中的默认tableview控制器内设置tableview的最大宽度。我不能只设置一个我不确定是否可以使用带有特殊控制器的情节提要设置宽度,我可能错了。但是您可以只执行tableView.widthAnchor.constraint(equalToConstant:200).isActive=true并选择您想要的任何常量,然后在view.frame.width上使用一些条件逻辑来更改特定情况下的常量值您不能更改UITableViewController的UITableView的帧

我试图在情节提要中的默认tableview控制器内设置tableview的最大宽度。我不能只设置一个我不确定是否可以使用带有特殊控制器的情节提要设置宽度,我可能错了。但是您可以只执行
tableView.widthAnchor.constraint(equalToConstant:200).isActive=true
并选择您想要的任何常量,然后在view.frame.width上使用一些条件逻辑来更改特定情况下的常量值

您不能更改UITableViewController的UITableView的帧,因为它是控制器的根视图。如果希望UITableView不占用整个宽度,则应创建UIViewController并将UITableView添加到其中。如果这样做,UIViewController将拥有自己的UIView,即根


你说你正在尝试设置你的应用程序,这样它就不会在只有700宽的iPad上占据整个屏幕。不幸的是,你不能这样做,因为你的应用程序主窗口总是占据整个屏幕,所以即使你有一个透明的根视图,你也看不到主iOS界面,因为你的主窗口会阻止它(我想它会是黑色的)。

谢谢你的回复。这是有道理的,但看起来我确实可以瞄准它。tableView.frame.size.width=CGFloat(500)正在限制它,如果我能以某种方式将其居中的话。我只希望表格更小,应用程序的其余部分可以是全尺寸。在这种情况下,您必须手动添加自己的UITableView,因为UITableViewController中提供的UITableView必须占据分配给该视图控制器的整个区域。您有两个选项:1)将UITableView添加到UIViewController(不再使用UITableViewController)或2)用另一个标准UIViewController替换UITableViewController,然后将UITableViewController添加为该控制器的子视图控制器。我将使用选项1对其进行修改,谢谢您的建议。我确实让它约束和居中,但就像你说的,它在侧面广告黑条,你会看到宽度移动到位。谢谢你的回复。我不能完全让它工作,但我正在以正确的方式重建它。
override func viewDidAppear(_ animated: Bool) {
    let bounds = UIScreen.main.bounds
    if bounds.width > 414 {
        tableView.frame.size.width = CGFloat(600)
        tableView.center.x = bounds.size.width / 2
    }
}