重新加载REFrostedViewController

时间:2014-06-01 23:49:50

标签: ios objective-c

我已经实现了REFrostedViewController,这真的很棒。使用正确的视图控制器实现菜单(当点击正确的行时,它将转到相应的视图控制器)。但是,我无法使用新的视图控制器和标签重新加载菜单,具体取决于我的应用程序流程。

例如,假设菜单中有一行名为"登录"这会将用户带到" SignInViewController"。让我们假设他们已成功登录。我想重新加载菜单,所以现在该行显示"退出"并包含" SignOutViewController"。

谁能告诉我这是怎么做到的?截至目前,菜单行和视图控制器是在DEMOMenuViewController.m(在UITableView Delegate方法中)初始化时创建的。

1 个答案:

答案 0 :(得分:1)

您可以这样做 - 为简单起见,此代码在菜单中只有一个部分。

@property (strong,nonatomic) NSMutable Array *menuTitles;


-(void) viewDidLoad {
     [super viewDidLoad];
     self.menuTitles=[[NSMutableArray alloc]init];
     [self.menuTitles addObject:@"Login"];   // You can change this later using [self.menuTitles setObject:@"Logout" atIndexedSubscript:0];
     [self.menuTitles addObject:@"Item 2"];

     ...
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)sectionIndex
{
    return [self.menuTitles count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

    cell.textLabel.text = self.menuTitles[indexPath.row];

    return cell;
}