Objective c UITableView未通过导航栏显示
我有一个Objective c UITableView未通过导航栏显示,objective-c,uitableview,ios7,uinavigationbar,uicollectionview,Objective C,Uitableview,Ios7,Uinavigationbar,Uicollectionview,我有一个UITableView作为自定义UIViewController的子视图。我想把它放在导航栏下面,当我滚动它时,我想让它以半透明的方式通过导航栏可见。为此,我应该将表视图的y设置为零,并将属性edgesForExtendedLayout设置为UIRectEdgeAll;通过这种方式,这些功能应该可以工作,因为UITableView应该设置在导航栏的正下方。 我有一个大问题:如果我将y位置设置为零,表视图将位于导航栏下,而第一部分将部分隐藏在半透明栏下。此外,如果我将y位置设置为导航栏的高
UITableView
作为自定义UIViewController
的子视图。我想把它放在导航栏下面,当我滚动它时,我想让它以半透明的方式通过导航栏可见。为此,我应该将表视图的y设置为零,并将属性edgesForExtendedLayout
设置为UIRectEdgeAll
;通过这种方式,这些功能应该可以工作,因为UITableView
应该设置在导航栏的正下方。
我有一个大问题:如果我将y位置设置为零,表视图将位于导航栏下,而第一部分将部分隐藏在半透明栏下。此外,如果我将y位置设置为导航栏的高度,则无法通过导航栏看到表视图,因为它从导航栏下方开始。
实际上,UICollectionView
,y位置设置为零,滚动时,我可以通过导航栏看到UICollectionView
。
对这个问题有什么建议吗?这是iOS 7错误吗?使用
UIViewController
的topLayoutGuide
将UITableView
的原点设置为0
,然后将其contentInset
设置为
看起来可能是这样的
self.tableView.contentInset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0);
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0);
使用UIViewController
的topLayoutGuide
将UITableView的原点设置为0
,然后将其contentInset
设置为
看起来可能是这样的
self.tableView.contentInset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0);
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0);
我也遇到了这个。在iOS7中,如果在任何ViewController的self.view
上添加一个tableView作为第一个元素(视图),就会显示这个问题。您可以使用一个hack:只需在添加tableView之前添加一个零大小的虚拟UIView
。我也遇到了这个问题。在iOS7中,如果在任何ViewController的self.view
上添加一个tableView作为第一个元素(视图),就会显示这个问题。您可以使用hack:只需在添加tableView之前添加一个零大小的虚拟UIView
。