瀏覽代碼

Add UIImage explorer subclass with a row for previewing the image.

Ryan Olson 12 年之前
父節點
當前提交
9153d7864c

+ 13 - 0
Classes/Object Explorers/FLEXImageExplorerViewController.h

@@ -0,0 +1,13 @@
+//
+//  FLEXImageExplorerViewController.h
+//  Flipboard
+//
+//  Created by Ryan Olson on 6/12/14.
+//  Copyright (c) 2014 Flipboard. All rights reserved.
+//
+
+#import "FLEXObjectExplorerViewController.h"
+
+@interface FLEXImageExplorerViewController : FLEXObjectExplorerViewController
+
+@end

+ 75 - 0
Classes/Object Explorers/FLEXImageExplorerViewController.m

@@ -0,0 +1,75 @@
+//
+//  FLEXImageExplorerViewController.m
+//  Flipboard
+//
+//  Created by Ryan Olson on 6/12/14.
+//  Copyright (c) 2014 Flipboard. All rights reserved.
+//
+
+#import "FLEXImageExplorerViewController.h"
+#import "FLEXViewSnapshotViewController.h"
+
+typedef NS_ENUM(NSUInteger, FLEXImageExplorerRow) {
+    FLEXImageExplorerRowImage
+};
+
+@interface FLEXImageExplorerViewController ()
+
+@property (nonatomic, readonly) UIImage *image;
+
+@end
+
+@implementation FLEXImageExplorerViewController
+
+- (UIImage *)image
+{
+    return [self.object isKindOfClass:[UIImage class]] ? self.object : nil;
+}
+
+#pragma mark - Superclass Overrides
+
+- (NSString *)customSectionTitle
+{
+    return @"Shortcuts";
+}
+
+- (NSArray *)customSectionRowCookies
+{
+    return @[@(FLEXImageExplorerRowImage)];
+}
+
+- (NSString *)customSectionTitleForRowCookie:(id)rowCookie
+{
+    NSString *title = nil;
+    if ([rowCookie isEqual:@(FLEXImageExplorerRowImage)]) {
+        title = @"Show Image";
+    }
+    return title;
+}
+
+- (NSString *)customSectionSubtitleForRowCookie:(id)rowCookie
+{
+    return nil;
+}
+
+- (BOOL)customSectionCanDrillIntoRowWithCookie:(id)rowCookie
+{
+    return YES;
+}
+
+- (UIViewController *)customSectionDrillInViewControllerForRowCookie:(id)rowCookie
+{
+    UIViewController *drillInViewController = nil;
+    if ([rowCookie isEqual:@(FLEXImageExplorerRowImage)]) {
+        drillInViewController = [[FLEXViewSnapshotViewController alloc] initWithImage:self.image];
+    }
+    return drillInViewController;
+}
+
+- (BOOL)shouldShowDescription
+{
+    return YES;
+}
+
+
+@end

+ 3 - 1
Classes/Object Explorers/FLEXObjectExplorerFactory.m

@@ -14,6 +14,7 @@
 #import "FLEXDefaultsExplorerViewController.h"
 #import "FLEXViewControllerExplorerViewController.h"
 #import "FLEXViewExplorerViewController.h"
+#import "FLEXImageExplorerViewController.h"
 
 @implementation FLEXObjectExplorerFactory
 
@@ -32,7 +33,8 @@
                                                    NSStringFromClass([NSDictionary class])     : [FLEXDictionaryExplorerViewController class],
                                                    NSStringFromClass([NSUserDefaults class])   : [FLEXDefaultsExplorerViewController class],
                                                    NSStringFromClass([UIViewController class]) : [FLEXViewControllerExplorerViewController class],
-                                                   NSStringFromClass([UIView class])           : [FLEXViewExplorerViewController class]};
+                                                   NSStringFromClass([UIView class])           : [FLEXViewExplorerViewController class],
+                                                   NSStringFromClass([UIImage class])          : [FLEXImageExplorerViewController class]};
     });
     
     Class explorerClass = [FLEXObjectExplorerViewController class];