iOS:基于视图的工具栏按钮的多个选择器

时间:2012-02-09 22:47:56

标签: iphone objective-c ios5 uinavigationcontroller

我的视图就像具有日视图和列表视图和月视图的日历一样。它们位于工具栏中的分段控件中。更改分段控件时,将替换中间视图,并保留导航栏和工具栏。我有另一个名为'今天'的按钮。按下此按钮时,我希望它触发当前在视图中的类中的选择器。 IE:如果加载了dayview,它将在DayViewController中运行选择器。有没有办法根据当前显示的视图有多个选择器?

我的结构是这样的。

RootViewController的

  • 创建工具栏和导航栏
  • 如果在工具栏中选择了Day,则将DayViewController视图加载到中间
  • 如果在工具栏中选择了List,则ListViewController视图将加载到中间

DayViewController

  • (选择器)在今日视图中滚动到今天今天不是当前日期。

ListViewController

  • (选择器)使用今天的日期滚动到当前部分

1 个答案:

答案 0 :(得分:0)

让你的按钮指向像- (void)todayButtonTapped这样的通用方法,然后决定做什么:

- (void)todayButtonTapped;
{
   if (<check if day is presented>) {
       [self.dayViewController ....
   } else if (<check if week is presented>) {
       [self.weekViewController ...
   } else {
       [self.monthViewController ...
   }
}

更新

要在rootViewController中使用此功能,请添加一个名为currentController的新属性。现在,每次更改显示的控制器时,都会更新此属性以指向该控制器。现在您要做的就是确保您的控制器都响应类似的方法并将其命名为

[self.currentController todayTapped:sender];