three20 TTTableViewController + TTActionSheetController

1. 首页要实现TTActionSheetControllerDelegate

@interface TSPublishViewController : TTTableViewController<TTActionSheetControllerDelegate>
{
    CATETYPE _cateType;
}
@property(nonatomic,assign)CATETYPE cateType;

@end

2. 在init中声明URLMAP规则

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.tableViewStyle = UITableViewStyleGrouped;
        [[TTNavigator navigator].URLMap from:@"tt://displayChoices"
                            toViewController:self selector:@selector(displayChoices:)];
    }
    return self;
}

3. 在DataSource中tableViewDidLoadModel添加url

[items addObject:
         [TTTableTextItem itemWithText:post.catname URL:@"tt://displayChoices"]];

4. 实现在方法

- (UIViewController*)displayChoices:(NSDictionary*)query{
    TTActionSheetController *controller = [[[TTActionSheetController alloc] initWithTitle:@"Choose" delegate:self] autorelease];
    [controller addDestructiveButtonWithTitle:@"Sigin In & Post" URL:@"tt://safechoice"];
    [controller addButtonWithTitle:@"Create & Post" URL:@"tt://photo-library"];
    [controller addCancelButtonWithTitle:@"Cancel" URL:nil];
    return controller;
}

- (BOOL)actionSheetController:(TTActionSheetController *)controller didDismissWithButtonIndex:(NSInteger)buttonIndex URL:(NSString *)URL {
    TTDPRINT(@"buttonIndex: %d URL: %@", buttonIndex, URL);
    if (URL && [URL caseInsensitiveCompare:@"tt://manual"] == NSOrderedSame) {
        return NO;
    }
    return (nil != URL);
}
posted @ 2012-05-22 15:32  alex hu  阅读(644)  评论(0编辑  收藏  举报