Swift(iOS_Apprentice)学习笔记
2015-11-20 09:51
465 查看
我的环境:OS X Yosemite(10.10.5) Xcode 7.1(7B91b)
1.创建swift项目:
File->new->Project....->iOS->Application->Single View Application: 创建时选择swift语言,选择路径即可。
新创建的项目视图在Main.storyboard里编辑,缺省的视图控制器为“View Controller"
视图控制代码在ViewController.swift类中进行编辑。可通过修改“View Controller"的Custom Class来指定视图控制器的swift类。
2.修改横坚屏:
选中项目:General->Deployment info->Device Orientation勾选屏幕模式即可
3.size classes功能关闭
在File Inspector中Interface Builder Document中去掉Use Size Classes选项的勾选
4、国际化支持 I18N
在项目的PRPJECT ->info ->Localizations中选+添加需要支持的语言。系统会自动为所有的storyboard添加多语言支持文件。如添加简体中文,会自动产生名为zh-Hans.lproj的文件夹,该文件夹下会存放相应的strings文件。
如果要对代码添加多语言支持功能,可通过命令行的方式来创建支持文件
首先进入到项目源文件所在目录:
genstrings *.swift -o zh-Hans.lproj
这条命令为所有swift文件生成一个名为(待续)
5、去掉状态栏 (StatusBar)
首先在storyboard中选中要编辑的view controller,在attribute中将status bar设置为None
然后在项目TARGETS的General的Deployment中将 Hide status bar勾选
然后在代码中添加
overridefunc
prefersStatusBarHidden() ->Bool {
return
true
}
override func preferredStatusBarStyle() ->UIStatusBarStyle {
returnUIStatusBarStyle.LightContent
}
即可完美的去掉单个页面的status bar.
在info.plist中将status bar is initially hidden设置为YES
6、一些报错的处理方法:
通过http下载图片时报错,处理方法如下:
“App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Temporary exceptions can be configured via your app's Info.plistfile.”
ATS禁止了HTTP的明文传输,因为它不安全。可以修改Info.plist文件,让它临时允许明文传输。
解决办法:
在Info.plist文件中添加"App Transport SecuritySettings", Type为"Dictionary",再添加"Allow Arbitray Loads", Type 为"Boolean",“Value”为“YES”即可。
7、store_search的教程中关闭单个view的auto-layout的写法:
view.removeConstraints(view.constraints)
// view.setTranslatesAutoresizingMaskIntoConstraints(true) 原教材的写法
view.translatesAutoresizingMaskIntoConstraints =true
button无法显示图片的处理:
// let button = UIButton.init(type: .System) as UIButton 原教材指定为.system类型将无法显示图片
let button = UIButton.init()asUIButton //即可显示图片
downloadImageForSearchResult(searchResult, andPlaceOnButton: button)
8、添加背景图
向view中添加image view,选中后Editor->arrange->send to back
然后在viewWillAppear中设置图片的位置和宽度为屏幕的大小(注意先关闭auto layout)
override func viewWillAppear(animated:Bool) {
super.viewWillAppear(animated)
bgImageView.center =self.view.center
bgImageView.bounds =self.view.bounds
}
9、页面跳转
新建一个viewcontroller名为MenuViewController,从当前view controller创建一个到山MenuViewController的segue,指定类型为model,设置identifier为“toMenuVC"
页面跳转的示例如下:
func jump(){
print("jump() is loaded")
self.dismissViewControllerAnimated(true, completion:
nil)
self.performSegueWithIdentifier("toMenuVC", sender:nil)
}
override func prepareForSegue(segue:
UIStoryboardSegue, sender:
AnyObject?) {
if segue.identifier ==
"toMenuVC" {
let menuViewController = segue.destinationViewController
as! MenuViewController
menuViewController.getVar =
"auto jump"
}
1.创建swift项目:
File->new->Project....->iOS->Application->Single View Application: 创建时选择swift语言,选择路径即可。
新创建的项目视图在Main.storyboard里编辑,缺省的视图控制器为“View Controller"
视图控制代码在ViewController.swift类中进行编辑。可通过修改“View Controller"的Custom Class来指定视图控制器的swift类。
2.修改横坚屏:
选中项目:General->Deployment info->Device Orientation勾选屏幕模式即可
3.size classes功能关闭
在File Inspector中Interface Builder Document中去掉Use Size Classes选项的勾选
4、国际化支持 I18N
在项目的PRPJECT ->info ->Localizations中选+添加需要支持的语言。系统会自动为所有的storyboard添加多语言支持文件。如添加简体中文,会自动产生名为zh-Hans.lproj的文件夹,该文件夹下会存放相应的strings文件。
如果要对代码添加多语言支持功能,可通过命令行的方式来创建支持文件
首先进入到项目源文件所在目录:
genstrings *.swift -o zh-Hans.lproj
这条命令为所有swift文件生成一个名为(待续)
5、去掉状态栏 (StatusBar)
首先在storyboard中选中要编辑的view controller,在attribute中将status bar设置为None
然后在项目TARGETS的General的Deployment中将 Hide status bar勾选
然后在代码中添加
overridefunc
prefersStatusBarHidden() ->Bool {
return
true
}
override func preferredStatusBarStyle() ->UIStatusBarStyle {
returnUIStatusBarStyle.LightContent
}
即可完美的去掉单个页面的status bar.
在info.plist中将status bar is initially hidden设置为YES
6、一些报错的处理方法:
通过http下载图片时报错,处理方法如下:
“App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Temporary exceptions can be configured via your app's Info.plistfile.”
ATS禁止了HTTP的明文传输,因为它不安全。可以修改Info.plist文件,让它临时允许明文传输。
解决办法:
在Info.plist文件中添加"App Transport SecuritySettings", Type为"Dictionary",再添加"Allow Arbitray Loads", Type 为"Boolean",“Value”为“YES”即可。
7、store_search的教程中关闭单个view的auto-layout的写法:
view.removeConstraints(view.constraints)
// view.setTranslatesAutoresizingMaskIntoConstraints(true) 原教材的写法
view.translatesAutoresizingMaskIntoConstraints =true
button无法显示图片的处理:
// let button = UIButton.init(type: .System) as UIButton 原教材指定为.system类型将无法显示图片
let button = UIButton.init()asUIButton //即可显示图片
downloadImageForSearchResult(searchResult, andPlaceOnButton: button)
8、添加背景图
向view中添加image view,选中后Editor->arrange->send to back
然后在viewWillAppear中设置图片的位置和宽度为屏幕的大小(注意先关闭auto layout)
override func viewWillAppear(animated:Bool) {
super.viewWillAppear(animated)
bgImageView.center =self.view.center
bgImageView.bounds =self.view.bounds
}
9、页面跳转
新建一个viewcontroller名为MenuViewController,从当前view controller创建一个到山MenuViewController的segue,指定类型为model,设置identifier为“toMenuVC"
页面跳转的示例如下:
func jump(){
print("jump() is loaded")
self.dismissViewControllerAnimated(true, completion:
nil)
self.performSegueWithIdentifier("toMenuVC", sender:nil)
}
override func prepareForSegue(segue:
UIStoryboardSegue, sender:
AnyObject?) {
if segue.identifier ==
"toMenuVC" {
let menuViewController = segue.destinationViewController
as! MenuViewController
menuViewController.getVar =
"auto jump"
}
相关文章推荐
- iOS项目开发实战(Swift)—项目目录和结构
- Swift 2.0基本语法
- Add closure to extension within swift in runtime
- 理解Swift中Optional类型-有和无的哲学
- 浅谈swift中的内存管理
- 给控制器添加工具栏(Swift语言)
- Swift用CoreMotion得到屏幕当前方向的方法
- Swift - 按钮(UIButton)的用法
- swift2 下拉刷新MJRefersh使用
- Swift语言 代码添加文本输入框 和 占位文本
- swift-使用NSURLConnection进行数据的提交和获取(POST与GET)
- swif自学笔记(二)
- Swift 2 初次见面
- swift基础教程笔记
- Swift实战(一): 剪子包袱锤ios应用
- Swift中的required修饰符
- Swift -2 字符串与集合
- Swift 基本基本运算符
- Swift 项目使用 CoreData 可能会碰到的 32 位系统问题
- Xcode 7 beta发布,Swift 2.0带来哪些新变化?