Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.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 Xcode情节提要:在TabBarController中显示自定义视图而不是默认视图_Ios_Objective C_Xcode_Uitabbarcontroller - Fatal编程技术网

Ios Xcode情节提要:在TabBarController中显示自定义视图而不是默认视图

Ios Xcode情节提要:在TabBarController中显示自定义视图而不是默认视图,ios,objective-c,xcode,uitabbarcontroller,Ios,Objective C,Xcode,Uitabbarcontroller,我是iOS开发新手。在故事板中,我从对象库中放置了选项卡视图控制器 在一个选项卡中,我放置了一个表视图控制器,在另一个选项卡中,我有一个自定义视图 现在在我的 UiTableViewController viewDidLoad() 我想检查一个变量:如果这个变量为false,我想显示另一个视图,而不是表视图。 此新视图不能是模式视图,因为我希望此视图位于选项卡栏内而不是上方 这可能吗?如果使用Tableview控制器,则只能使用Tableview。 您可以通过将TableViewContro

我是iOS开发新手。在故事板中,我从对象库中放置了选项卡视图控制器

在一个选项卡中,我放置了一个表视图控制器,在另一个选项卡中,我有一个自定义视图

现在在我的

UiTableViewController viewDidLoad() 
我想检查一个变量:如果这个变量为false,我想显示另一个视图,而不是表视图。 此新视图不能是模式视图,因为我希望此视图位于选项卡栏内而不是上方


这可能吗?

如果使用Tableview控制器,则只能使用Tableview。 您可以通过将TableViewController替换为ViewController来执行所需操作

之后,有两种方式:

第一种方式-故事板

  • 您可以在其中添加TableView
  • 将viewController定义为新tableview的委托/数据源 结果与TableViewcontroller中的结果相同,但您可以根据需要处理TableView
第二种方式-编程:

只能通过编程来声明和使用TableView。这与第一种方式几乎相同,但您不使用故事板

我已经使用这种方式允许用户在TableView和CollectionView之间进行选择

之后

然后,可以检查变量,如果要显示TableView以外的内容,只需使用self.TableView.hidden=YES将其隐藏并显示所需内容

我更喜欢第二种方式,因为你可以处理所有事情,但它有点(非常小^^^^)难。
;)

如果您希望控制器动态处理视图,我建议不要使用UITableViewController。取而代之的是使用UIViewController,而不是在该视图控制器视图(self.view)中,您可以添加和管理任何类型视图的可见性(在您的例子中是UITableView&一些自定义视图)

此外,您还可以像在UItableViewController中一样管理表视图委托方法


祝你的设计好运:)

不使用故事板可能是更安全的选择。尽管您可以使用故事板,然后在viewDidLoad中设置
[self.tableView setHidden:YES]
并根据if语句取消隐藏另一个。这是一个变通办法。可能有更好的选择。