Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
iOS 7中UITableView的contentInset规则?_Ios_Iphone_Uitableview - Fatal编程技术网

iOS 7中UITableView的contentInset规则?

iOS 7中UITableView的contentInset规则?,ios,iphone,uitableview,Ios,Iphone,Uitableview,我很好奇系统如何/何时决定是否将UITableView contentInsets默认为64 我在一个普通的UIViewController中放置了一个UITableView,它本身位于一个带有半透明导航条的UINavigationController中。tableview的自动布局告诉它填充UIViewController的视图 现在,默认情况下,tableview的顶部内容插入为64.f。我可以通过手动设置内容插入,或在UIViewController上使用edgesForExtendedL

我很好奇系统如何/何时决定是否将UITableView contentInsets默认为64

我在一个普通的UIViewController中放置了一个UITableView,它本身位于一个带有半透明导航条的UINavigationController中。tableview的自动布局告诉它填充UIViewController的视图

现在,默认情况下,tableview的顶部内容插入为64.f。我可以通过手动设置内容插入,或在UIViewController上使用edgesForExtendedLayout来防止这种行为。现在,我不去管它了

但是,如果在self.view和tableview之间插入子视图,tableview的默认顶部插入将变为0.0f,我必须手动将其调整回64.f


我的问题是:视图控制器如何确定是否更改插图?它实际上只是检查self.view的顶部子视图是否是tableview/scrollview吗?

我今天下午遇到了这个问题,我在普通的ViewController中添加了一个UIButton和一个UITableView。我将UITableView的原点设置为(0,64),它在导航栏的正下方显示为正常。但在我删除了UIButton并将UITableView单独留下后,它似乎是导航栏下方的另一个64插页。真奇怪

第一个问题是你的,但是没有答案,真的很沮丧……但是有很好的答案

简而言之,如果主视图或主视图的第一个子视图是UIScrollView的一个类或子类,例如UITableView,则它可以工作。否则,视图控制器不知道哪个UIScrollView可以工作

以下是参考资料: