【问题标题】:iphone: tab bar controller: how to call methods?iphone:标签栏控制器:如何调用方法?
【发布时间】:2010-09-20 15:51:45
【问题描述】:

我需要一些帮助:

我有几个视图(查看 xib):登录、注册、设置等。

我创建了一个项目,添加了一个选项卡控制器并且选项卡工作正常。

问题在于:我们有 2 种注册“方式”,而我的老板希望它们位于两个不同的标签中。代码差不多,所以我的想法是:

我想创建一个通用注册视图,而不是使用复制和粘贴代码的 2 个不同视图,如果用户按下第一个选项卡,则只需“触发”signUp_method1,如果用户按下第二个选项卡,我也会触发signUp_method2。问题是我该怎么做?

另外,我担心我将无法根据操作自定义视图:我必须根据注册方式显示 2 个不同的字段和标签。我一直在寻找某种方法,我读到了viewDidLoad,实际上我正在使用它进行初始化,但这并不能解决问题。

也许我不应该使用标签控制器,所以,如果您有建议,我很乐意阅读。

感谢阅读。

【问题讨论】:

    标签: iphone objective-c iphone-sdk-3.0


    【解决方案1】:

    使用 UITabBar 委托方法。您需要确保选项卡栏所在的视图在类头中实现“UITabBarDelegate”。

    这种方法可能会奏效:

    -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
     // You can put logic in here to check on what item was pressed and fire the different methods depending on what you put.  
        if ([[item title] isEqualToString:@"Libraries"]) {
      NSLog(@"Pressed on libraries tab!!");
     } else if ([[item title] isEqualToString:@"Search"]) {
         NSLog(@"Pressed on search tab!!");
      }
    }
    

    只要您将 IB 中的组件正确链接到控制器,您就应该能够根据需要以编程方式操作它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-11
      • 2011-08-28
      • 2010-11-22
      • 2018-10-12
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多