From e6124cb6861825f588b0cf7be198ea35b5b730ba Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Thu, 3 Mar 2011 13:09:55 -0800 Subject: Provide -[CyteWebViewController leftButton] API. --- CyteKit/WebViewController.h | 3 +++ CyteKit/WebViewController.mm | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+) (limited to 'CyteKit') diff --git a/CyteKit/WebViewController.h b/CyteKit/WebViewController.h index db40a1c..c1ec1ee 100644 --- a/CyteKit/WebViewController.h +++ b/CyteKit/WebViewController.h @@ -128,6 +128,9 @@ - (UIBarButtonItem *) customButton; - (UIBarButtonItem *) rightButton; +- (void) applyLeftButton; +- (UIBarButtonItem *) leftButton; + - (void) _didStartLoading; - (void) _didFinishLoading; diff --git a/CyteKit/WebViewController.mm b/CyteKit/WebViewController.mm index b59d830..a750278 100644 --- a/CyteKit/WebViewController.mm +++ b/CyteKit/WebViewController.mm @@ -611,6 +611,27 @@ float CYScrollViewDecelerationRateNormal; ] autorelease]; } +- (UIBarButtonItem *) leftButton { + UINavigationItem *item([self navigationItem]); + if ([item backBarButtonItem] != nil && ![item hidesBackButton]) + return nil; + + if (UINavigationController *navigation = [self navigationController]) + if ([[navigation parentViewController] modalViewController] == navigation) + return [[[UIBarButtonItem alloc] + initWithTitle:UCLocalize("CLOSE") + style:UIBarButtonItemStylePlain + target:self + action:@selector(close) + ] autorelease]; + + return nil; +} + +- (void) applyLeftButton { + [[self navigationItem] setLeftBarButtonItem:[self leftButton]]; +} + - (UIBarButtonItem *) rightButton { return reloaditem_; } @@ -784,6 +805,8 @@ float CYScrollViewDecelerationRateNormal; UITableView *table([[[UITableView alloc] initWithFrame:bounds style:UITableViewStyleGrouped] autorelease]); [webview_ insertSubview:table atIndex:0]; + [self applyLeftButton]; + [table setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; [webview_ setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; [indicator_ setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin]; @@ -881,6 +904,7 @@ float CYScrollViewDecelerationRateNormal; - (void) setHidesBackButton:(bool)value { [[self navigationItem] setHidesBackButton:value]; + [self applyLeftButton]; } - (void) setHidesBackButtonByNumber:(NSNumber *)value { -- cgit v1.2.3