您的位置:首页 > 移动开发 > Swift

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"

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: