diff --git a/README b/README new file mode 100644 index 0000000..4b6310f --- /dev/null +++ b/README @@ -0,0 +1 @@ +This code is for Episode 2 of www.iosdevscreencasts.com diff --git a/SimpleWebBrowser.xcodeproj/project.pbxproj b/SimpleWebBrowser.xcodeproj/project.pbxproj index 3f6bfab..868aeac 100644 --- a/SimpleWebBrowser.xcodeproj/project.pbxproj +++ b/SimpleWebBrowser.xcodeproj/project.pbxproj @@ -13,8 +13,8 @@ BBBCBDD714D89EEE00F83D39 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BBBCBDD514D89EEE00F83D39 /* InfoPlist.strings */; }; BBBCBDD914D89EEE00F83D39 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BBBCBDD814D89EEE00F83D39 /* main.m */; }; BBBCBDDD14D89EEE00F83D39 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BBBCBDDC14D89EEE00F83D39 /* AppDelegate.m */; }; - BBBCBDE014D89EEE00F83D39 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BBBCBDDF14D89EEE00F83D39 /* ViewController.m */; }; - BBBCBDE314D89EEE00F83D39 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBBCBDE114D89EEE00F83D39 /* ViewController.xib */; }; + BBBCBDE014D89EEE00F83D39 /* SimpleBrowserViewcontroller.m in Sources */ = {isa = PBXBuildFile; fileRef = BBBCBDDF14D89EEE00F83D39 /* SimpleBrowserViewcontroller.m */; }; + BBBCBDE314D89EEE00F83D39 /* SimpleBrowserViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBBCBDE114D89EEE00F83D39 /* SimpleBrowserViewController.xib */; }; BBBCBDEB14D89EEE00F83D39 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBBCBDEA14D89EEE00F83D39 /* SenTestingKit.framework */; }; BBBCBDEC14D89EEE00F83D39 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBBCBDCC14D89EEE00F83D39 /* UIKit.framework */; }; BBBCBDED14D89EEE00F83D39 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBBCBDCE14D89EEE00F83D39 /* Foundation.framework */; }; @@ -37,20 +37,20 @@ BBBCBDCC14D89EEE00F83D39 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; BBBCBDCE14D89EEE00F83D39 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; BBBCBDD014D89EEE00F83D39 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - BBBCBDD414D89EEE00F83D39 /* SimpleWebBrowser-Info.plist */ = {isa = PBXFileReference; path = "SimpleWebBrowser-Info.plist"; sourceTree = ""; }; + BBBCBDD414D89EEE00F83D39 /* SimpleWebBrowser-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SimpleWebBrowser-Info.plist"; sourceTree = ""; }; BBBCBDD614D89EEE00F83D39 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; BBBCBDD814D89EEE00F83D39 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - BBBCBDDA14D89EEE00F83D39 /* SimpleWebBrowser-Prefix.pch */ = {isa = PBXFileReference; path = "SimpleWebBrowser-Prefix.pch"; sourceTree = ""; }; - BBBCBDDB14D89EEE00F83D39 /* AppDelegate.h */ = {isa = PBXFileReference; path = AppDelegate.h; sourceTree = ""; }; + BBBCBDDA14D89EEE00F83D39 /* SimpleWebBrowser-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SimpleWebBrowser-Prefix.pch"; sourceTree = ""; }; + BBBCBDDB14D89EEE00F83D39 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; BBBCBDDC14D89EEE00F83D39 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - BBBCBDDE14D89EEE00F83D39 /* ViewController.h */ = {isa = PBXFileReference; path = ViewController.h; sourceTree = ""; }; - BBBCBDDF14D89EEE00F83D39 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - BBBCBDE214D89EEE00F83D39 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; + BBBCBDDE14D89EEE00F83D39 /* SimpleBrowserViewController.h */ = {isa = PBXFileReference; path = SimpleBrowserViewController.h; sourceTree = ""; }; + BBBCBDDF14D89EEE00F83D39 /* SimpleBrowserViewcontroller.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SimpleBrowserViewcontroller.m; sourceTree = ""; }; + BBBCBDE214D89EEE00F83D39 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/SimpleBrowserViewController.xib; sourceTree = ""; }; BBBCBDE914D89EEE00F83D39 /* SimpleWebBrowserTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimpleWebBrowserTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; BBBCBDEA14D89EEE00F83D39 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - BBBCBDF214D89EEE00F83D39 /* SimpleWebBrowserTests-Info.plist */ = {isa = PBXFileReference; path = "SimpleWebBrowserTests-Info.plist"; sourceTree = ""; }; + BBBCBDF214D89EEE00F83D39 /* SimpleWebBrowserTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SimpleWebBrowserTests-Info.plist"; sourceTree = ""; }; BBBCBDF414D89EEE00F83D39 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - BBBCBDF614D89EEE00F83D39 /* SimpleWebBrowserTests.h */ = {isa = PBXFileReference; path = SimpleWebBrowserTests.h; sourceTree = ""; }; + BBBCBDF614D89EEE00F83D39 /* SimpleWebBrowserTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SimpleWebBrowserTests.h; sourceTree = ""; }; BBBCBDF714D89EEE00F83D39 /* SimpleWebBrowserTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SimpleWebBrowserTests.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -113,9 +113,9 @@ children = ( BBBCBDDB14D89EEE00F83D39 /* AppDelegate.h */, BBBCBDDC14D89EEE00F83D39 /* AppDelegate.m */, - BBBCBDDE14D89EEE00F83D39 /* ViewController.h */, - BBBCBDDF14D89EEE00F83D39 /* ViewController.m */, - BBBCBDE114D89EEE00F83D39 /* ViewController.xib */, + BBBCBDDE14D89EEE00F83D39 /* SimpleBrowserViewController.h */, + BBBCBDDF14D89EEE00F83D39 /* SimpleBrowserViewcontroller.m */, + BBBCBDE114D89EEE00F83D39 /* SimpleBrowserViewController.xib */, BBBCBDD314D89EEE00F83D39 /* Supporting Files */, ); path = SimpleWebBrowser; @@ -223,7 +223,7 @@ buildActionMask = 2147483647; files = ( BBBCBDD714D89EEE00F83D39 /* InfoPlist.strings in Resources */, - BBBCBDE314D89EEE00F83D39 /* ViewController.xib in Resources */, + BBBCBDE314D89EEE00F83D39 /* SimpleBrowserViewController.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -260,7 +260,7 @@ files = ( BBBCBDD914D89EEE00F83D39 /* main.m in Sources */, BBBCBDDD14D89EEE00F83D39 /* AppDelegate.m in Sources */, - BBBCBDE014D89EEE00F83D39 /* ViewController.m in Sources */, + BBBCBDE014D89EEE00F83D39 /* SimpleBrowserViewcontroller.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -291,12 +291,12 @@ name = InfoPlist.strings; sourceTree = ""; }; - BBBCBDE114D89EEE00F83D39 /* ViewController.xib */ = { + BBBCBDE114D89EEE00F83D39 /* SimpleBrowserViewController.xib */ = { isa = PBXVariantGroup; children = ( BBBCBDE214D89EEE00F83D39 /* en */, ); - name = ViewController.xib; + name = SimpleBrowserViewController.xib; sourceTree = ""; }; BBBCBDF314D89EEE00F83D39 /* InfoPlist.strings */ = { diff --git a/SimpleWebBrowser.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SimpleWebBrowser.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..a24a40a --- /dev/null +++ b/SimpleWebBrowser.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SimpleWebBrowser/AppDelegate.h b/SimpleWebBrowser/AppDelegate.h index 920336b..7a88425 100644 --- a/SimpleWebBrowser/AppDelegate.h +++ b/SimpleWebBrowser/AppDelegate.h @@ -8,12 +8,12 @@ #import -@class ViewController; +@class SimpleBrowserViewController; @interface AppDelegate : UIResponder @property (strong, nonatomic) UIWindow *window; -@property (strong, nonatomic) ViewController *viewController; +@property (strong, nonatomic) SimpleBrowserViewController *viewController; @end diff --git a/SimpleWebBrowser/AppDelegate.m b/SimpleWebBrowser/AppDelegate.m index 1b8cb74..782741a 100644 --- a/SimpleWebBrowser/AppDelegate.m +++ b/SimpleWebBrowser/AppDelegate.m @@ -8,7 +8,7 @@ #import "AppDelegate.h" -#import "ViewController.h" +#import "SimpleBrowserViewController.h" @implementation AppDelegate @@ -26,7 +26,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. - self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; + self.viewController = [[[SimpleBrowserViewController alloc] initWithNibName:@"SimpleBrowserViewController" bundle:nil] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; diff --git a/SimpleWebBrowser/SimpleBrowserViewController.h b/SimpleWebBrowser/SimpleBrowserViewController.h index 642dadb..4e860f3 100644 --- a/SimpleWebBrowser/SimpleBrowserViewController.h +++ b/SimpleWebBrowser/SimpleBrowserViewController.h @@ -8,6 +8,14 @@ #import -@interface ViewController : UIViewController +@interface SimpleBrowserViewController : UIViewController { + IBOutlet UIWebView *webView; +} + +@property(nonatomic,retain)IBOutlet UIWebView *webView; + +-(IBAction)goBack:(id)sender; +-(IBAction)goForward:(id)sender; + @end diff --git a/SimpleWebBrowser/SimpleBrowserViewcontroller.m b/SimpleWebBrowser/SimpleBrowserViewcontroller.m index dfa6c97..ca488a7 100644 --- a/SimpleWebBrowser/SimpleBrowserViewcontroller.m +++ b/SimpleWebBrowser/SimpleBrowserViewcontroller.m @@ -6,9 +6,22 @@ // Copyright (c) 2012 Stanford University. All rights reserved. // -#import "ViewController.h" +#import "SimpleBrowserViewController.h" -@implementation ViewController +@implementation SimpleBrowserViewController +@synthesize webView; + +-(IBAction)goBack:(id)sender { + if ([webView canGoBack]) { + [webView goBack]; + } +} + +-(IBAction)goForward:(id)sender { + if ([webView canGoForward]) { + [webView goForward]; + } +} - (void)didReceiveMemoryWarning { @@ -20,6 +33,9 @@ - (void)didReceiveMemoryWarning - (void)viewDidLoad { + NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; + NSURLRequest *request = [NSURLRequest requestWithURL:url]; + [webView loadRequest:request]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } diff --git a/SimpleWebBrowser/en.lproj/SimpleBrowserViewController.xib b/SimpleWebBrowser/en.lproj/SimpleBrowserViewController.xib index e7178e4..a2a6c13 100644 --- a/SimpleWebBrowser/en.lproj/SimpleBrowserViewController.xib +++ b/SimpleWebBrowser/en.lproj/SimpleBrowserViewController.xib @@ -2,17 +2,20 @@ 1280 - 11C25 - 1919 - 1138.11 - 566.00 + 11C74 + 1938 + 1138.23 + 567.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 916 + 933 - IBProxyObject + IBUIWebView + IBUIBarButtonItem + IBUIToolbar IBUIView + IBProxyObject com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -33,9 +36,59 @@ 274 + + + + 266 + {{0, 416}, {320, 44}} + + + + _NS:371 + NO + NO + IBCocoaTouchFramework + + + Back + IBCocoaTouchFramework + 1 + + + + IBCocoaTouchFramework + 199 + + 6 + + + Forw + IBCocoaTouchFramework + 1 + + + + + + + 274 + {320, 416} + + + _NS:693 + + 1 + MSAxIDEAA + + IBCocoaTouchFramework + 1 + YES + + {{0, 20}, {320, 460}} + 3 MC43NQA @@ -58,6 +111,30 @@ 7 + + + webView + + + + 21 + + + + goBack: + + + + 22 + + + + goForward: + + + + 23 + @@ -81,31 +158,95 @@ 6 + + + + + + 16 + + + + + + + + + + 17 + + + + + 18 + + + + + 19 + + + + + 20 + + + - ViewController + SimpleBrowserViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 7 + 23 - ViewController + SimpleBrowserViewController UIViewController + + id + id + + + + goBack: + id + + + goForward: + id + + + + webView + UIWebView + + + webView + + webView + UIWebView + + IBProjectSource - ./Classes/ViewController.h + ./Classes/SimpleBrowserViewController.h @@ -114,6 +255,6 @@ IBCocoaTouchFramework YES 3 - 916 + 933