LGSemiModalNavController 开源项目教程
1. 项目的目录结构及介绍
LGSemiModalNavController 项目的目录结构如下:
LGSemiModalNavController/
├── LGSemiModalNavController/
│ ├── LGSemiModalNavController.h
│ ├── LGSemiModalNavController.m
│ ├── LGSemiModalNavControllerDelegate.h
│ ├── LGSemiModalNavControllerDelegate.m
│ ├── LGSemiModalNavController.xib
│ └── LGSemiModalNavController.storyboard
├── Example/
│ ├── Example/
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── MainViewController.h
│ │ ├── MainViewController.m
│ │ ├── MainViewController.xib
│ │ └── Main.storyboard
│ ├── Example.xcodeproj
│ └── ExampleTests/
└── LGSemiModalNavController.podspec
目录结构介绍
-
LGSemiModalNavController/
:包含项目的主要源代码文件。LGSemiModalNavController.h
和LGSemiModalNavController.m
:主要控制器的头文件和实现文件。LGSemiModalNavControllerDelegate.h
和LGSemiModalNavControllerDelegate.m
:代理协议的头文件和实现文件。LGSemiModalNavController.xib
和LGSemiModalNavController.storyboard
:界面布局文件。
-
Example/
:示例项目的目录。Example/
:示例项目的主要源代码文件。AppDelegate.h
和AppDelegate.m
:应用程序的代理头文件和实现文件。MainViewController.h
和MainViewController.m
:主视图控制器的头文件和实现文件。MainViewController.xib
和Main.storyboard
:主视图控制器的界面布局文件。
Example.xcodeproj
:示例项目的 Xcode 工程文件。ExampleTests/
:示例项目的测试文件目录。
-
LGSemiModalNavController.podspec
:CocoaPods 的规范文件。
2. 项目的启动文件介绍
项目的启动文件是 Example/Example/AppDelegate.h
和 Example/Example/AppDelegate.m
。
AppDelegate.h
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
AppDelegate.m
#import "AppDelegate.h"
#import "MainViewController.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
MainViewController *mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
self.window.rootViewController = mainViewController;
[self.window makeKeyAndVisible];
return YES;
}
@end
启动文件介绍
AppDelegate.h
:定义了应用程序的代理类,包含一个UIWindow
属性。AppDelegate.m
:实现了应用程序的启动方法didFinishLaunchingWithOptions
,初始化并显示主视图控制器。
3. 项目的配置文件介绍
项目的配置文件是 LGSemiModalNavController.podspec
。
LGSemiModalNavController.podspec
Pod::Spec.new do |spec|
spec.name = "LGSemiModalNavController"
spec.version = "1.0.0"
spec.summary = "A UINavigationController subclass that presents itself a semi-modal view with a popover arrow."
spec.description = <<-DESC
LGSemiModalNavController is a UINavigationController subclass that presents itself as a semi-modal view with a popover arrow. It is designed to be easy to use and integrate into your project.
DESC
spec.homepage = "https://github