├── TODO ├── CHANGELOG ├── Example ├── logo.png ├── logo@2x.png ├── Example_Prefix.pch ├── Classes │ ├── AView.h │ ├── ExampleViewController.h │ ├── AView.m │ ├── ExampleAppDelegate.h │ ├── ExampleViewController.m │ └── ExampleAppDelegate.m ├── main.m ├── UIView+i7Rotate360.h ├── Example-Info.plist ├── UIView+i7Rotate360.m ├── Example.xcodeproj │ └── project.pbxproj ├── ExampleViewController.xib └── MainWindow.xib ├── .gitignore ├── UIView+i7Rotate360.h ├── README ├── COPYRIGHT ├── LICENSE └── UIView+i7Rotate360.m /TODO: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | 12/01/2010 - Jonas Schnelli 2 | + package started -------------------------------------------------------------------------------- /Example/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschnelli/UIView-i7Rotate360/master/Example/logo.png -------------------------------------------------------------------------------- /Example/logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschnelli/UIView-i7Rotate360/master/Example/logo@2x.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.[oa] 2 | *.DS_Store 3 | build/ 4 | *.pbxuser 5 | *.perspective 6 | *.perspectivev3 7 | *.swp 8 | *~.nib 9 | *.mode1v3 10 | *.mode2v3 -------------------------------------------------------------------------------- /Example/Example_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'Example' target in the 'Example' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /Example/Classes/AView.h: -------------------------------------------------------------------------------- 1 | // 2 | // AView.h 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface AView : UIImageView { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Example/Classes/ExampleViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleViewController.h 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ExampleViewController : UIViewController { 12 | 13 | } 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /Example/Classes/AView.m: -------------------------------------------------------------------------------- 1 | // 2 | // AView.m 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import "AView.h" 10 | #import "UIView+i7Rotate360.h" 11 | 12 | @implementation AView 13 | 14 | - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 15 | [self rotate360WithDuration:2]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Example/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) { 12 | 13 | NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | [pool release]; 16 | return retVal; 17 | } 18 | -------------------------------------------------------------------------------- /Example/Classes/ExampleAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleAppDelegate.h 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class ExampleViewController; 12 | 13 | @interface ExampleAppDelegate : NSObject { 14 | UIWindow *window; 15 | ExampleViewController *viewController; 16 | } 17 | 18 | @property (nonatomic, retain) IBOutlet UIWindow *window; 19 | @property (nonatomic, retain) IBOutlet ExampleViewController *viewController; 20 | 21 | @end 22 | 23 | -------------------------------------------------------------------------------- /Example/UIView+i7Rotate360.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+i7Rotate360.h 3 | // include7 AG 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | 10 | 11 | enum i7Rotate360TimingMode { 12 | i7Rotate360TimingModeEaseInEaseOut, 13 | i7Rotate360TimingModeLinear 14 | }; 15 | 16 | @interface UIView (i7Rotate360) 17 | - (void)rotate360WithDuration:(CGFloat)aDuration repeatCount:(CGFloat)aRepeatCount timingMode:(enum i7Rotate360TimingMode)aMode; 18 | - (void)rotate360WithDuration:(CGFloat)aDuration timingMode:(enum i7Rotate360TimingMode)aMode; 19 | - (void)rotate360WithDuration:(CGFloat)aDuration; 20 | @end 21 | 22 | -------------------------------------------------------------------------------- /UIView+i7Rotate360.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+i7Rotate360.h 3 | // smartbuy4me 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | 10 | 11 | enum i7Rotate360TimingMode { 12 | i7Rotate360TimingModeEaseInEaseOut, 13 | i7Rotate360TimingModeLinear 14 | }; 15 | 16 | enum i7Rotate360RotateDirection { 17 | i7Rotate360RotateDirectionClockwise, 18 | i7Rotate360RotateDirectionAntiClockwise 19 | }; 20 | 21 | @interface UIView (i7Rotate360) 22 | - (void)rotate360WithDuration:(CGFloat)aDuration repeatCount:(CGFloat)aRepeatCount timingMode:(enum i7Rotate360TimingMode)aMode rotateDirection:(enum i7Rotate360RotateDirection)aDirection; 23 | - (void)rotate360WithDuration:(CGFloat)aDuration timingMode:(enum i7Rotate360TimingMode)aMode; 24 | - (void)rotate360WithDuration:(CGFloat)aDuration; 25 | @end 26 | 27 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | This UIView Categorie (Extend) will allow you to rotate a view easly 360° 2 | Example: 3 | --- 4 | [aView rotate360WithDuration:0.5 repeatCount:3 timingMode:i7Rotate360TimingModeLinear]; 5 | or 6 | [aView rotate360WithDuration:2]; 7 | --- 8 | 9 | Version 10 | ======= 11 | 0.10 12 | 13 | License 14 | ======= 15 | BSD 16 | 17 | Changelog 18 | ========== 19 | 12/01/2010 – Version 0.1 - package started 20 | 21 | 22 | Author 23 | ====== 24 | Jonas Schnelli / include7 AG - www.include7.ch 25 | 26 | 27 | _ __ __ _____ 28 | (_)___ _____/ /_ ______/ /_/__ / 29 | / / __ \/ ___/ / / / / __ / _ \/ / 30 | / / / / / /__/ / /_/ / /_/ / __/ / 31 | /_/_/ /_/\___/_/\__,_/\__,_/\___/_/........ 32 | 33 | 34 | 35 | URL 36 | === 37 | http://github.com/jonasschnelli/UIView-i7Rotate360 38 | 39 | Info 40 | ==== 41 | Have fun while using and extending this package. -------------------------------------------------------------------------------- /Example/Example-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | 30 | 31 | -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 include7 AG – Jonas Schnelli 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /Example/UIView+i7Rotate360.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+i7Rotate360.m 3 | // include7 AG 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import "UIView+i7Rotate360.h" 10 | #import 11 | 12 | @implementation UIView (i7Rotate360) 13 | 14 | - (void)rotate360WithDuration:(CGFloat)aDuration repeatCount:(CGFloat)aRepeatCount timingMode:(enum i7Rotate360TimingMode)aMode { 15 | CAKeyframeAnimation *theAnimation = [CAKeyframeAnimation animation]; 16 | theAnimation.values = [NSArray arrayWithObjects: 17 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0,0,1)], 18 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(3.13, 0,0,1)], 19 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(6.26, 0,0,1)], 20 | nil]; 21 | theAnimation.cumulative = YES; 22 | theAnimation.duration = aDuration; 23 | theAnimation.repeatCount = aRepeatCount; 24 | theAnimation.removedOnCompletion = YES; 25 | 26 | if(aMode == i7Rotate360TimingModeEaseInEaseOut) { 27 | theAnimation.timingFunctions = [NSArray arrayWithObjects:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn], 28 | [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut], 29 | nil 30 | ]; 31 | } 32 | [self.layer addAnimation:theAnimation forKey:@"transform"]; 33 | } 34 | 35 | - (void)rotate360WithDuration:(CGFloat)aDuration timingMode:(enum i7Rotate360TimingMode)aMode { 36 | [self rotate360WithDuration:aDuration repeatCount:1 timingMode:aMode]; 37 | } 38 | 39 | - (void)rotate360WithDuration:(CGFloat)aDuration { 40 | [self rotate360WithDuration:aDuration repeatCount:1 timingMode:i7Rotate360TimingModeEaseInEaseOut]; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | copyright (c) 2010 include7 AG – Jonas Schnelli 2 | 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1) Redistributions of source code must retain the above copyright notice, 9 | this list of conditions and the following disclaimer. 10 | 11 | 2) Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3) All advertising materials mentioning features or use of this software 16 | must display the following acknowledgement: “This product includes software 17 | developed by the include7 AG, Switzerland and its contributors.” 18 | 19 | 4) Neither the name of the include7 AG, Switzerland nor the names of 20 | its contributors may be used to endorse or promote products derived from 21 | this software without specific prior written permission. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 24 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 25 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 26 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INCLUDE7 AG OR CONTRIBUTORS BE 27 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33 | POSSIBILITY OF SUCH DAMAGE. 34 | 35 | -------------------------------------------------------------------------------- /Example/Classes/ExampleViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleViewController.m 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import "ExampleViewController.h" 10 | #import "AView.h" 11 | #import "UIView+i7Rotate360.h" 12 | 13 | @implementation ExampleViewController 14 | 15 | 16 | 17 | /* 18 | // The designated initializer. Override to perform setup that is required before the view is loaded. 19 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 20 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 21 | if (self) { 22 | // Custom initialization 23 | } 24 | return self; 25 | } 26 | */ 27 | 28 | /* 29 | // Implement loadView to create a view hierarchy programmatically, without using a nib. 30 | - (void)loadView { 31 | } 32 | */ 33 | 34 | 35 | 36 | // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 37 | - (void)viewDidLoad { 38 | [super viewDidLoad]; 39 | 40 | AView *aView = [[AView alloc] initWithImage:[UIImage imageNamed:@"logo.png"]]; 41 | aView.frame = CGRectMake(122,170,75,75); 42 | aView.userInteractionEnabled = YES; 43 | [self.view addSubview:aView]; 44 | 45 | [aView rotate360WithDuration:0.5 repeatCount:3 timingMode:i7Rotate360TimingModeLinear]; 46 | [aView release]; 47 | } 48 | 49 | 50 | 51 | /* 52 | // Override to allow orientations other than the default portrait orientation. 53 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 54 | // Return YES for supported orientations 55 | return (interfaceOrientation == UIInterfaceOrientationPortrait); 56 | } 57 | */ 58 | 59 | - (void)didReceiveMemoryWarning { 60 | // Releases the view if it doesn't have a superview. 61 | [super didReceiveMemoryWarning]; 62 | 63 | // Release any cached data, images, etc that aren't in use. 64 | } 65 | 66 | - (void)viewDidUnload { 67 | // Release any retained subviews of the main view. 68 | // e.g. self.myOutlet = nil; 69 | } 70 | 71 | 72 | - (void)dealloc { 73 | [super dealloc]; 74 | } 75 | 76 | @end 77 | -------------------------------------------------------------------------------- /UIView+i7Rotate360.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+i7Rotate360.m 3 | // smartbuy4me 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import "UIView+i7Rotate360.h" 10 | #import 11 | 12 | @implementation UIView (i7Rotate360) 13 | 14 | - (void)rotate360WithDuration:(CGFloat)aDuration repeatCount:(CGFloat)aRepeatCount timingMode:(enum i7Rotate360TimingMode)aMode rotateDirection:(enum i7Rotate360RotateDirection)aDirection { 15 | CAKeyframeAnimation *theAnimation = [CAKeyframeAnimation animation]; 16 | if (aDirection == i7Rotate360RotateDirectionClockwise) { 17 | theAnimation.values = [NSArray arrayWithObjects: 18 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0, 0, 1)], 19 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(3.13, 0, 0, 1)], 20 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(6.26, 0, 0, 1)], 21 | nil]; 22 | } else { 23 | theAnimation.values = [NSArray arrayWithObjects: 24 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0, 0, 1)], 25 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(-3.13, 0, 0, 1)], 26 | [NSValue valueWithCATransform3D:CATransform3DMakeRotation(-6.26, 0, 0, 1)], 27 | nil]; 28 | } 29 | 30 | theAnimation.cumulative = YES; 31 | theAnimation.duration = aDuration; 32 | theAnimation.repeatCount = aRepeatCount; 33 | theAnimation.removedOnCompletion = YES; 34 | 35 | if(aMode == i7Rotate360TimingModeEaseInEaseOut) { 36 | theAnimation.timingFunctions = [NSArray arrayWithObjects:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn], 37 | [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut], 38 | nil 39 | ]; 40 | } 41 | [self.layer addAnimation:theAnimation forKey:@"transform"]; 42 | } 43 | 44 | - (void)rotate360WithDuration:(CGFloat)aDuration timingMode:(enum i7Rotate360TimingMode)aMode { 45 | [self rotate360WithDuration:aDuration repeatCount:1 timingMode:aMode rotateDirection:i7Rotate360RotateDirectionClockwise]; 46 | } 47 | 48 | - (void)rotate360WithDuration:(CGFloat)aDuration { 49 | [self rotate360WithDuration:aDuration repeatCount:1 timingMode:i7Rotate360TimingModeEaseInEaseOut rotateDirection:i7Rotate360RotateDirectionClockwise]; 50 | } 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /Example/Classes/ExampleAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleAppDelegate.m 3 | // Example 4 | // 5 | // Created by Jonas Schnelli on 01.12.10. 6 | // Copyright 2010 include7 AG. All rights reserved. 7 | // 8 | 9 | #import "ExampleAppDelegate.h" 10 | #import "ExampleViewController.h" 11 | 12 | @implementation ExampleAppDelegate 13 | 14 | @synthesize window; 15 | @synthesize viewController; 16 | 17 | 18 | #pragma mark - 19 | #pragma mark Application lifecycle 20 | 21 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 22 | 23 | // Override point for customization after application launch. 24 | 25 | // Add the view controller's view to the window and display. 26 | [self.window addSubview:viewController.view]; 27 | [self.window makeKeyAndVisible]; 28 | 29 | return YES; 30 | } 31 | 32 | 33 | - (void)applicationWillResignActive:(UIApplication *)application { 34 | /* 35 | Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 36 | Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 37 | */ 38 | } 39 | 40 | 41 | - (void)applicationDidEnterBackground:(UIApplication *)application { 42 | /* 43 | Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 44 | If your application supports background execution, called instead of applicationWillTerminate: when the user quits. 45 | */ 46 | } 47 | 48 | 49 | - (void)applicationWillEnterForeground:(UIApplication *)application { 50 | /* 51 | Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background. 52 | */ 53 | } 54 | 55 | 56 | - (void)applicationDidBecomeActive:(UIApplication *)application { 57 | /* 58 | Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 59 | */ 60 | } 61 | 62 | 63 | - (void)applicationWillTerminate:(UIApplication *)application { 64 | /* 65 | Called when the application is about to terminate. 66 | See also applicationDidEnterBackground:. 67 | */ 68 | } 69 | 70 | 71 | #pragma mark - 72 | #pragma mark Memory management 73 | 74 | - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { 75 | /* 76 | Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later. 77 | */ 78 | } 79 | 80 | 81 | - (void)dealloc { 82 | [viewController release]; 83 | [window release]; 84 | [super dealloc]; 85 | } 86 | 87 | 88 | @end 89 | -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 45; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1D3623260D0F684500981E51 /* ExampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* ExampleAppDelegate.m */; }; 11 | 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 12 | 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 13 | 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 14 | 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; 15 | 2899E5220DE3E06400AC0155 /* ExampleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* ExampleViewController.xib */; }; 16 | 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 17 | 28D7ACF80DDB3853001CB0EB /* ExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* ExampleViewController.m */; }; 18 | E5832C5812A67D81007EC08C /* UIView+i7Rotate360.m in Sources */ = {isa = PBXBuildFile; fileRef = E5832C5712A67D81007EC08C /* UIView+i7Rotate360.m */; }; 19 | E5832C5D12A67DEA007EC08C /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = E5832C5B12A67DEA007EC08C /* logo.png */; }; 20 | E5832C5E12A67DEA007EC08C /* logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E5832C5C12A67DEA007EC08C /* logo@2x.png */; }; 21 | E5832CEA12A67E4B007EC08C /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5832CE912A67E4B007EC08C /* QuartzCore.framework */; }; 22 | E5832D0512A67E65007EC08C /* AView.m in Sources */ = {isa = PBXBuildFile; fileRef = E5832D0412A67E65007EC08C /* AView.m */; }; 23 | /* End PBXBuildFile section */ 24 | 25 | /* Begin PBXFileReference section */ 26 | 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 27 | 1D3623240D0F684500981E51 /* ExampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleAppDelegate.h; sourceTree = ""; }; 28 | 1D3623250D0F684500981E51 /* ExampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleAppDelegate.m; sourceTree = ""; }; 29 | 1D6058910D05DD3D006BFB54 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 30 | 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 31 | 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 32 | 2899E5210DE3E06400AC0155 /* ExampleViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ExampleViewController.xib; sourceTree = ""; }; 33 | 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = ""; }; 34 | 28D7ACF60DDB3853001CB0EB /* ExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleViewController.h; sourceTree = ""; }; 35 | 28D7ACF70DDB3853001CB0EB /* ExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleViewController.m; sourceTree = ""; }; 36 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 37 | 32CA4F630368D1EE00C91783 /* Example_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Example_Prefix.pch; sourceTree = ""; }; 38 | 8D1107310486CEB800E47090 /* Example-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Example-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; 39 | E5832C5612A67D81007EC08C /* UIView+i7Rotate360.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+i7Rotate360.h"; sourceTree = ""; }; 40 | E5832C5712A67D81007EC08C /* UIView+i7Rotate360.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+i7Rotate360.m"; sourceTree = ""; }; 41 | E5832C5B12A67DEA007EC08C /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = ""; }; 42 | E5832C5C12A67DEA007EC08C /* logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo@2x.png"; sourceTree = ""; }; 43 | E5832CE912A67E4B007EC08C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 44 | E5832D0312A67E65007EC08C /* AView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AView.h; sourceTree = ""; }; 45 | E5832D0412A67E65007EC08C /* AView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AView.m; sourceTree = ""; }; 46 | /* End PBXFileReference section */ 47 | 48 | /* Begin PBXFrameworksBuildPhase section */ 49 | 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { 50 | isa = PBXFrameworksBuildPhase; 51 | buildActionMask = 2147483647; 52 | files = ( 53 | 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, 54 | 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, 55 | 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */, 56 | E5832CEA12A67E4B007EC08C /* QuartzCore.framework in Frameworks */, 57 | ); 58 | runOnlyForDeploymentPostprocessing = 0; 59 | }; 60 | /* End PBXFrameworksBuildPhase section */ 61 | 62 | /* Begin PBXGroup section */ 63 | 080E96DDFE201D6D7F000001 /* Classes */ = { 64 | isa = PBXGroup; 65 | children = ( 66 | 1D3623240D0F684500981E51 /* ExampleAppDelegate.h */, 67 | 1D3623250D0F684500981E51 /* ExampleAppDelegate.m */, 68 | 28D7ACF60DDB3853001CB0EB /* ExampleViewController.h */, 69 | 28D7ACF70DDB3853001CB0EB /* ExampleViewController.m */, 70 | E5832D0312A67E65007EC08C /* AView.h */, 71 | E5832D0412A67E65007EC08C /* AView.m */, 72 | ); 73 | path = Classes; 74 | sourceTree = ""; 75 | }; 76 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 77 | isa = PBXGroup; 78 | children = ( 79 | 1D6058910D05DD3D006BFB54 /* Example.app */, 80 | ); 81 | name = Products; 82 | sourceTree = ""; 83 | }; 84 | 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { 85 | isa = PBXGroup; 86 | children = ( 87 | E5832C5B12A67DEA007EC08C /* logo.png */, 88 | E5832C5C12A67DEA007EC08C /* logo@2x.png */, 89 | E5832C5612A67D81007EC08C /* UIView+i7Rotate360.h */, 90 | E5832C5712A67D81007EC08C /* UIView+i7Rotate360.m */, 91 | 080E96DDFE201D6D7F000001 /* Classes */, 92 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 93 | 29B97317FDCFA39411CA2CEA /* Resources */, 94 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 95 | 19C28FACFE9D520D11CA2CBB /* Products */, 96 | ); 97 | name = CustomTemplate; 98 | sourceTree = ""; 99 | }; 100 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 32CA4F630368D1EE00C91783 /* Example_Prefix.pch */, 104 | 29B97316FDCFA39411CA2CEA /* main.m */, 105 | ); 106 | name = "Other Sources"; 107 | sourceTree = ""; 108 | }; 109 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 110 | isa = PBXGroup; 111 | children = ( 112 | 2899E5210DE3E06400AC0155 /* ExampleViewController.xib */, 113 | 28AD733E0D9D9553002E5188 /* MainWindow.xib */, 114 | 8D1107310486CEB800E47090 /* Example-Info.plist */, 115 | ); 116 | name = Resources; 117 | sourceTree = ""; 118 | }; 119 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | E5832CE912A67E4B007EC08C /* QuartzCore.framework */, 123 | 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 124 | 1D30AB110D05D00D00671497 /* Foundation.framework */, 125 | 288765A40DF7441C002DB57D /* CoreGraphics.framework */, 126 | ); 127 | name = Frameworks; 128 | sourceTree = ""; 129 | }; 130 | /* End PBXGroup section */ 131 | 132 | /* Begin PBXNativeTarget section */ 133 | 1D6058900D05DD3D006BFB54 /* Example */ = { 134 | isa = PBXNativeTarget; 135 | buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Example" */; 136 | buildPhases = ( 137 | 1D60588D0D05DD3D006BFB54 /* Resources */, 138 | 1D60588E0D05DD3D006BFB54 /* Sources */, 139 | 1D60588F0D05DD3D006BFB54 /* Frameworks */, 140 | ); 141 | buildRules = ( 142 | ); 143 | dependencies = ( 144 | ); 145 | name = Example; 146 | productName = Example; 147 | productReference = 1D6058910D05DD3D006BFB54 /* Example.app */; 148 | productType = "com.apple.product-type.application"; 149 | }; 150 | /* End PBXNativeTarget section */ 151 | 152 | /* Begin PBXProject section */ 153 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 154 | isa = PBXProject; 155 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Example" */; 156 | compatibilityVersion = "Xcode 3.1"; 157 | developmentRegion = English; 158 | hasScannedForEncodings = 1; 159 | knownRegions = ( 160 | English, 161 | Japanese, 162 | French, 163 | German, 164 | ); 165 | mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; 166 | projectDirPath = ""; 167 | projectRoot = ""; 168 | targets = ( 169 | 1D6058900D05DD3D006BFB54 /* Example */, 170 | ); 171 | }; 172 | /* End PBXProject section */ 173 | 174 | /* Begin PBXResourcesBuildPhase section */ 175 | 1D60588D0D05DD3D006BFB54 /* Resources */ = { 176 | isa = PBXResourcesBuildPhase; 177 | buildActionMask = 2147483647; 178 | files = ( 179 | 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */, 180 | 2899E5220DE3E06400AC0155 /* ExampleViewController.xib in Resources */, 181 | E5832C5D12A67DEA007EC08C /* logo.png in Resources */, 182 | E5832C5E12A67DEA007EC08C /* logo@2x.png in Resources */, 183 | ); 184 | runOnlyForDeploymentPostprocessing = 0; 185 | }; 186 | /* End PBXResourcesBuildPhase section */ 187 | 188 | /* Begin PBXSourcesBuildPhase section */ 189 | 1D60588E0D05DD3D006BFB54 /* Sources */ = { 190 | isa = PBXSourcesBuildPhase; 191 | buildActionMask = 2147483647; 192 | files = ( 193 | 1D60589B0D05DD56006BFB54 /* main.m in Sources */, 194 | 1D3623260D0F684500981E51 /* ExampleAppDelegate.m in Sources */, 195 | 28D7ACF80DDB3853001CB0EB /* ExampleViewController.m in Sources */, 196 | E5832C5812A67D81007EC08C /* UIView+i7Rotate360.m in Sources */, 197 | E5832D0512A67E65007EC08C /* AView.m in Sources */, 198 | ); 199 | runOnlyForDeploymentPostprocessing = 0; 200 | }; 201 | /* End PBXSourcesBuildPhase section */ 202 | 203 | /* Begin XCBuildConfiguration section */ 204 | 1D6058940D05DD3E006BFB54 /* Debug */ = { 205 | isa = XCBuildConfiguration; 206 | buildSettings = { 207 | ALWAYS_SEARCH_USER_PATHS = NO; 208 | COPY_PHASE_STRIP = NO; 209 | FRAMEWORK_SEARCH_PATHS = ( 210 | "$(inherited)", 211 | "\"$(SRCROOT)\"", 212 | ); 213 | GCC_DYNAMIC_NO_PIC = NO; 214 | GCC_OPTIMIZATION_LEVEL = 0; 215 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 216 | GCC_PREFIX_HEADER = Example_Prefix.pch; 217 | INFOPLIST_FILE = "Example-Info.plist"; 218 | PRODUCT_NAME = Example; 219 | }; 220 | name = Debug; 221 | }; 222 | 1D6058950D05DD3E006BFB54 /* Release */ = { 223 | isa = XCBuildConfiguration; 224 | buildSettings = { 225 | ALWAYS_SEARCH_USER_PATHS = NO; 226 | COPY_PHASE_STRIP = YES; 227 | FRAMEWORK_SEARCH_PATHS = ( 228 | "$(inherited)", 229 | "\"$(SRCROOT)\"", 230 | ); 231 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 232 | GCC_PREFIX_HEADER = Example_Prefix.pch; 233 | INFOPLIST_FILE = "Example-Info.plist"; 234 | PRODUCT_NAME = Example; 235 | VALIDATE_PRODUCT = YES; 236 | }; 237 | name = Release; 238 | }; 239 | C01FCF4F08A954540054247B /* Debug */ = { 240 | isa = XCBuildConfiguration; 241 | buildSettings = { 242 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 243 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 244 | GCC_C_LANGUAGE_STANDARD = c99; 245 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 246 | GCC_WARN_UNUSED_VARIABLE = YES; 247 | PREBINDING = NO; 248 | SDKROOT = iphoneos; 249 | }; 250 | name = Debug; 251 | }; 252 | C01FCF5008A954540054247B /* Release */ = { 253 | isa = XCBuildConfiguration; 254 | buildSettings = { 255 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 256 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 257 | GCC_C_LANGUAGE_STANDARD = c99; 258 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 259 | GCC_WARN_UNUSED_VARIABLE = YES; 260 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 261 | PREBINDING = NO; 262 | SDKROOT = iphoneos; 263 | }; 264 | name = Release; 265 | }; 266 | /* End XCBuildConfiguration section */ 267 | 268 | /* Begin XCConfigurationList section */ 269 | 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Example" */ = { 270 | isa = XCConfigurationList; 271 | buildConfigurations = ( 272 | 1D6058940D05DD3E006BFB54 /* Debug */, 273 | 1D6058950D05DD3E006BFB54 /* Release */, 274 | ); 275 | defaultConfigurationIsVisible = 0; 276 | defaultConfigurationName = Release; 277 | }; 278 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Example" */ = { 279 | isa = XCConfigurationList; 280 | buildConfigurations = ( 281 | C01FCF4F08A954540054247B /* Debug */, 282 | C01FCF5008A954540054247B /* Release */, 283 | ); 284 | defaultConfigurationIsVisible = 0; 285 | defaultConfigurationName = Release; 286 | }; 287 | /* End XCConfigurationList section */ 288 | }; 289 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 290 | } 291 | -------------------------------------------------------------------------------- /Example/ExampleViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1056 5 | 10H574 6 | 823 7 | 1038.35 8 | 461.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 132 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | 42 | 274 43 | {320, 460} 44 | 45 | 46 | 1 47 | MSAxIDEAA 48 | 49 | NO 50 | 51 | IBCocoaTouchFramework 52 | 53 | 54 | 55 | 56 | YES 57 | 58 | 59 | view 60 | 61 | 62 | 63 | 7 64 | 65 | 66 | 67 | 68 | YES 69 | 70 | 0 71 | 72 | 73 | 74 | 75 | 76 | -1 77 | 78 | 79 | File's Owner 80 | 81 | 82 | -2 83 | 84 | 85 | 86 | 87 | 6 88 | 89 | 90 | 91 | 92 | 93 | 94 | YES 95 | 96 | YES 97 | -1.CustomClassName 98 | -2.CustomClassName 99 | 6.IBEditorWindowLastContentRect 100 | 6.IBPluginDependency 101 | 102 | 103 | YES 104 | ExampleViewController 105 | UIResponder 106 | {{239, 526}, {320, 480}} 107 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 108 | 109 | 110 | 111 | YES 112 | 113 | 114 | YES 115 | 116 | 117 | 118 | 119 | YES 120 | 121 | 122 | YES 123 | 124 | 125 | 126 | 7 127 | 128 | 129 | 130 | YES 131 | 132 | ExampleViewController 133 | UIViewController 134 | 135 | IBProjectSource 136 | Classes/ExampleViewController.h 137 | 138 | 139 | 140 | UIView 141 | 142 | IBProjectSource 143 | UIView+i7Rotate360.h 144 | 145 | 146 | 147 | 148 | YES 149 | 150 | NSObject 151 | 152 | IBFrameworkSource 153 | Foundation.framework/Headers/NSError.h 154 | 155 | 156 | 157 | NSObject 158 | 159 | IBFrameworkSource 160 | Foundation.framework/Headers/NSFileManager.h 161 | 162 | 163 | 164 | NSObject 165 | 166 | IBFrameworkSource 167 | Foundation.framework/Headers/NSKeyValueCoding.h 168 | 169 | 170 | 171 | NSObject 172 | 173 | IBFrameworkSource 174 | Foundation.framework/Headers/NSKeyValueObserving.h 175 | 176 | 177 | 178 | NSObject 179 | 180 | IBFrameworkSource 181 | Foundation.framework/Headers/NSKeyedArchiver.h 182 | 183 | 184 | 185 | NSObject 186 | 187 | IBFrameworkSource 188 | Foundation.framework/Headers/NSObject.h 189 | 190 | 191 | 192 | NSObject 193 | 194 | IBFrameworkSource 195 | Foundation.framework/Headers/NSRunLoop.h 196 | 197 | 198 | 199 | NSObject 200 | 201 | IBFrameworkSource 202 | Foundation.framework/Headers/NSThread.h 203 | 204 | 205 | 206 | NSObject 207 | 208 | IBFrameworkSource 209 | Foundation.framework/Headers/NSURL.h 210 | 211 | 212 | 213 | NSObject 214 | 215 | IBFrameworkSource 216 | Foundation.framework/Headers/NSURLConnection.h 217 | 218 | 219 | 220 | NSObject 221 | 222 | IBFrameworkSource 223 | QuartzCore.framework/Headers/CAAnimation.h 224 | 225 | 226 | 227 | NSObject 228 | 229 | IBFrameworkSource 230 | QuartzCore.framework/Headers/CALayer.h 231 | 232 | 233 | 234 | NSObject 235 | 236 | IBFrameworkSource 237 | UIKit.framework/Headers/UIAccessibility.h 238 | 239 | 240 | 241 | NSObject 242 | 243 | IBFrameworkSource 244 | UIKit.framework/Headers/UINibLoading.h 245 | 246 | 247 | 248 | NSObject 249 | 250 | IBFrameworkSource 251 | UIKit.framework/Headers/UIResponder.h 252 | 253 | 254 | 255 | UIResponder 256 | NSObject 257 | 258 | 259 | 260 | UISearchBar 261 | UIView 262 | 263 | IBFrameworkSource 264 | UIKit.framework/Headers/UISearchBar.h 265 | 266 | 267 | 268 | UISearchDisplayController 269 | NSObject 270 | 271 | IBFrameworkSource 272 | UIKit.framework/Headers/UISearchDisplayController.h 273 | 274 | 275 | 276 | UIView 277 | 278 | IBFrameworkSource 279 | UIKit.framework/Headers/UIPrintFormatter.h 280 | 281 | 282 | 283 | UIView 284 | 285 | IBFrameworkSource 286 | UIKit.framework/Headers/UITextField.h 287 | 288 | 289 | 290 | UIView 291 | UIResponder 292 | 293 | IBFrameworkSource 294 | UIKit.framework/Headers/UIView.h 295 | 296 | 297 | 298 | UIViewController 299 | 300 | IBFrameworkSource 301 | UIKit.framework/Headers/UINavigationController.h 302 | 303 | 304 | 305 | UIViewController 306 | 307 | IBFrameworkSource 308 | UIKit.framework/Headers/UIPopoverController.h 309 | 310 | 311 | 312 | UIViewController 313 | 314 | IBFrameworkSource 315 | UIKit.framework/Headers/UISplitViewController.h 316 | 317 | 318 | 319 | UIViewController 320 | 321 | IBFrameworkSource 322 | UIKit.framework/Headers/UITabBarController.h 323 | 324 | 325 | 326 | UIViewController 327 | UIResponder 328 | 329 | IBFrameworkSource 330 | UIKit.framework/Headers/UIViewController.h 331 | 332 | 333 | 334 | 335 | 0 336 | IBCocoaTouchFramework 337 | 338 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 339 | 340 | 341 | 342 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 343 | 344 | 345 | YES 346 | Example.xcodeproj 347 | 3 348 | 132 349 | 350 | 351 | -------------------------------------------------------------------------------- /Example/MainWindow.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1024 5 | 10D571 6 | 786 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 112 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | IBCocoaTouchFramework 42 | 43 | 44 | ExampleViewController 45 | 46 | 47 | 1 48 | 49 | IBCocoaTouchFramework 50 | NO 51 | 52 | 53 | 54 | 292 55 | {320, 480} 56 | 57 | 1 58 | MSAxIDEAA 59 | 60 | NO 61 | NO 62 | 63 | IBCocoaTouchFramework 64 | YES 65 | 66 | 67 | 68 | 69 | YES 70 | 71 | 72 | delegate 73 | 74 | 75 | 76 | 4 77 | 78 | 79 | 80 | viewController 81 | 82 | 83 | 84 | 11 85 | 86 | 87 | 88 | window 89 | 90 | 91 | 92 | 14 93 | 94 | 95 | 96 | 97 | YES 98 | 99 | 0 100 | 101 | 102 | 103 | 104 | 105 | -1 106 | 107 | 108 | File's Owner 109 | 110 | 111 | 3 112 | 113 | 114 | Example App Delegate 115 | 116 | 117 | -2 118 | 119 | 120 | 121 | 122 | 10 123 | 124 | 125 | 126 | 127 | 12 128 | 129 | 130 | 131 | 132 | 133 | 134 | YES 135 | 136 | YES 137 | -1.CustomClassName 138 | -2.CustomClassName 139 | 10.CustomClassName 140 | 10.IBEditorWindowLastContentRect 141 | 10.IBPluginDependency 142 | 12.IBEditorWindowLastContentRect 143 | 12.IBPluginDependency 144 | 3.CustomClassName 145 | 3.IBPluginDependency 146 | 147 | 148 | YES 149 | UIApplication 150 | UIResponder 151 | ExampleViewController 152 | {{234, 376}, {320, 480}} 153 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 154 | {{525, 346}, {320, 480}} 155 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 156 | ExampleAppDelegate 157 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 158 | 159 | 160 | 161 | YES 162 | 163 | 164 | YES 165 | 166 | 167 | 168 | 169 | YES 170 | 171 | 172 | YES 173 | 174 | 175 | 176 | 15 177 | 178 | 179 | 180 | YES 181 | 182 | UIWindow 183 | UIView 184 | 185 | IBUserSource 186 | 187 | 188 | 189 | 190 | ExampleAppDelegate 191 | NSObject 192 | 193 | YES 194 | 195 | YES 196 | viewController 197 | window 198 | 199 | 200 | YES 201 | ExampleViewController 202 | UIWindow 203 | 204 | 205 | 206 | YES 207 | 208 | YES 209 | viewController 210 | window 211 | 212 | 213 | YES 214 | 215 | viewController 216 | ExampleViewController 217 | 218 | 219 | window 220 | UIWindow 221 | 222 | 223 | 224 | 225 | IBProjectSource 226 | Classes/ExampleAppDelegate.h 227 | 228 | 229 | 230 | ExampleAppDelegate 231 | NSObject 232 | 233 | IBUserSource 234 | 235 | 236 | 237 | 238 | ExampleViewController 239 | UIViewController 240 | 241 | IBProjectSource 242 | Classes/ExampleViewController.h 243 | 244 | 245 | 246 | 247 | YES 248 | 249 | NSObject 250 | 251 | IBFrameworkSource 252 | Foundation.framework/Headers/NSError.h 253 | 254 | 255 | 256 | NSObject 257 | 258 | IBFrameworkSource 259 | Foundation.framework/Headers/NSFileManager.h 260 | 261 | 262 | 263 | NSObject 264 | 265 | IBFrameworkSource 266 | Foundation.framework/Headers/NSKeyValueCoding.h 267 | 268 | 269 | 270 | NSObject 271 | 272 | IBFrameworkSource 273 | Foundation.framework/Headers/NSKeyValueObserving.h 274 | 275 | 276 | 277 | NSObject 278 | 279 | IBFrameworkSource 280 | Foundation.framework/Headers/NSKeyedArchiver.h 281 | 282 | 283 | 284 | NSObject 285 | 286 | IBFrameworkSource 287 | Foundation.framework/Headers/NSObject.h 288 | 289 | 290 | 291 | NSObject 292 | 293 | IBFrameworkSource 294 | Foundation.framework/Headers/NSRunLoop.h 295 | 296 | 297 | 298 | NSObject 299 | 300 | IBFrameworkSource 301 | Foundation.framework/Headers/NSThread.h 302 | 303 | 304 | 305 | NSObject 306 | 307 | IBFrameworkSource 308 | Foundation.framework/Headers/NSURL.h 309 | 310 | 311 | 312 | NSObject 313 | 314 | IBFrameworkSource 315 | Foundation.framework/Headers/NSURLConnection.h 316 | 317 | 318 | 319 | NSObject 320 | 321 | IBFrameworkSource 322 | UIKit.framework/Headers/UIAccessibility.h 323 | 324 | 325 | 326 | NSObject 327 | 328 | IBFrameworkSource 329 | UIKit.framework/Headers/UINibLoading.h 330 | 331 | 332 | 333 | NSObject 334 | 335 | IBFrameworkSource 336 | UIKit.framework/Headers/UIResponder.h 337 | 338 | 339 | 340 | UIApplication 341 | UIResponder 342 | 343 | IBFrameworkSource 344 | UIKit.framework/Headers/UIApplication.h 345 | 346 | 347 | 348 | UIResponder 349 | NSObject 350 | 351 | 352 | 353 | UISearchBar 354 | UIView 355 | 356 | IBFrameworkSource 357 | UIKit.framework/Headers/UISearchBar.h 358 | 359 | 360 | 361 | UISearchDisplayController 362 | NSObject 363 | 364 | IBFrameworkSource 365 | UIKit.framework/Headers/UISearchDisplayController.h 366 | 367 | 368 | 369 | UIView 370 | 371 | IBFrameworkSource 372 | UIKit.framework/Headers/UITextField.h 373 | 374 | 375 | 376 | UIView 377 | UIResponder 378 | 379 | IBFrameworkSource 380 | UIKit.framework/Headers/UIView.h 381 | 382 | 383 | 384 | UIViewController 385 | 386 | IBFrameworkSource 387 | UIKit.framework/Headers/UINavigationController.h 388 | 389 | 390 | 391 | UIViewController 392 | 393 | IBFrameworkSource 394 | UIKit.framework/Headers/UIPopoverController.h 395 | 396 | 397 | 398 | UIViewController 399 | 400 | IBFrameworkSource 401 | UIKit.framework/Headers/UISplitViewController.h 402 | 403 | 404 | 405 | UIViewController 406 | 407 | IBFrameworkSource 408 | UIKit.framework/Headers/UITabBarController.h 409 | 410 | 411 | 412 | UIViewController 413 | UIResponder 414 | 415 | IBFrameworkSource 416 | UIKit.framework/Headers/UIViewController.h 417 | 418 | 419 | 420 | UIWindow 421 | UIView 422 | 423 | IBFrameworkSource 424 | UIKit.framework/Headers/UIWindow.h 425 | 426 | 427 | 428 | 429 | 0 430 | IBCocoaTouchFramework 431 | 432 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 433 | 434 | 435 | 436 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 437 | 438 | 439 | YES 440 | Example.xcodeproj 441 | 3 442 | 112 443 | 444 | 445 | --------------------------------------------------------------------------------