Swift(iOS_Apprentice)学习笔记

这篇学习笔记涵盖了使用Swift创建iOS项目的步骤,包括项目创建、横竖屏设置、关闭Size Classes、国际化支持、状态栏隐藏、错误处理、Auto Layout禁用以及页面跳转等关键知识点。详细讲解了如何在Xcode中操作,并提供了处理ATS报错和按钮图片显示问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的环境: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"

        }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值