xcode 11.1
Mac截图:
首先 Command+Shift + 5 会出现截图选项,点击选项,选择存储到剪切板。
然后需要截图的时候 按Command+Shift + 4会出现一个截图光标,选择截图区域即可截图,并保存到剪贴板。
《iOS开发指南 从Hello World到App Store上架》
1. 新建项目

新建项目.png
选择Create a new Xcode Project

image.png
选择Single View App,点击Next

image.png
选择好保存位置后,即可完创建项目。
Deployment Info 中去掉iPad,项目结构中删掉SceneDelegate.h 和 SceneDelegate.m文件,info.plist删除Application Scene Manifest,AppDelegate.m中删除configurationForConnectingSceneSession 和 didDiscardSceneSessions两个方法。
AppDelegate.h中 添加
@property(strong, nonatomic) UIWindow *window;
然后就可以运行了。
2. Hello World
打开故事板Main.storyboard 文件,点击右上角的➕,拖动label到主屏幕并放到中间位置,修改text为Hello World, 直接运行即可。

image.png
3.应用生命周期

image.png
- Not running(非运行状态)
- Inactive(前台非活动状态) 应用正在进入前台状态,但是还是不能接受事件处理。
- Active(前台活动状态)
- Background(后台状态) 应用进入后台,仍可以执行代码。如果没有可以执行的代码,或者可执行代码执行完毕,应用马上进入挂起状态。
-
Suspended(挂起状态) 冷冻状态,不可以执行代码
image.png
测试代码:在AppDelegate.m中添加一些日志输出。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSLog(@"didFinishLaunchingWithOptions");
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application{
NSLog(@"applicationWillResignActive");
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"applicationDidEnterBackground");
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"applicationWillEnterForeground");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"applicationDidBecomeActive");
}
- (void)applicationWillTerminate:(UIApplication *)application {
NSLog(@"applicationWillTerminate");
}
(待补充)
4.视图控制器
视图控制器:
- UIViewController 自定义视图控制器的导航
- UINavigationController 导航控制器
- UITabBarController 标签栏控制器,用于构建树形导航
- UIPageViewController 电子书导航控制器
视图生命周期

image.png
viewDidLoad方法只调用一次,其他四个方法可能会执行多次。
5.视图 UIView
继承结构

image.png
其中UIControl类能响应一些事件,其他的控件不可以。
UIScrollView 在内容超出屏幕时,提供水平或垂直滚动条。
6.创建界面
1)故事板
- 使用xlb创建项目
删除ViewController.h和ViewController.m和Main.storyboard文件,同时将项目属性中的MainInterface置为空。
创建RootViewController,并勾选同时创建xlb文件
修改AppDeligate文件
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
[self.window makeKeyAndVisible];
return YES;
}
