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

iPhone开发入门系列1(iOS8+Swift版)天天打靶APP学习12-14

2015-08-06 11:06 681 查看
添加一个帮助提示视图,选择text view,不是text field(用来输入文本的),去掉editor,否则玩家就可以编辑文本了。

在编辑text view里的文本怎么按回车是结束编辑文本,不是换行呢,那换行怎么实现?答:只要不断输入文本就可以了(含空格),到边界自然就会转到下一行

视图切换action segue里选择modal,实现模态转换,新的完全覆盖j旧的视图,另外有push,实现从右侧划入的方式,需要头一个是navigation controller,还有custom,是自定义跳转方式。

修改视图切换的动画是在segue(就是故事板上的方圆连接处)的属性里设置transition。

触摸关闭按钮返回主视图,我的方法是再用一个segue切换回去(未关闭当前窗口),切换动画可以设定,王老师用得方法是关联一个close方法,内调用dismissViewControllerAnimated()关闭当前视图,会到主视图了,切换动画和segue的是一样,不用设置。

科普info.plist文件在13篇末尾有详述,目前没涉及到先放一边。

14篇是利用image view 添加图片,简单不多说了。(图片制作,看样子PS还要会些才好)

美化滑动条:类似按钮,滑动条上的拖动点有正常和高亮两种,滑动右边是绿色,右边是灰色。关于图片拉伸resizableImageWithCapInsets()函数http://mobile.51cto.com/hot-404792.htm

//set style of slider
//设置滑轮的正常状态图像
let thumbImageNormal = UIImage(named: "SliderThumb-Normal")
slider.setThumbImage(thumbImageNormal, forState:  .Normal)
//设置滑轮的高亮状态图像
let thumbImageHighlighted = UIImage(named: "SliderThumb-Highlighted")
slider.setThumbImage(thumbImageHighlighted, forState: .Highlighted)
//其中Insets这个参数的格式是(top,left,bottom,right),从上、左、下、右分别在图片上画了一道线,这样就给一个图片加了一个框。只有在框里面的部分才会被拉伸,而框外面的部分则不会改变。比如(20,5,10,5),意思是下图矩形里面的部分可以被拉伸,而其余部分不变。
let insets = UIEdgeInsets(top: 0, left: 14, bottom: 0, right: 14)

let trackLeftImage = UIImage(named: "SliderTrackLeft")
//图片进行拉伸,拉伸范围是上0,左14,下0,右14的框内的部分被拉伸。
let trackLeftResizable = trackLeftImage!.resizableImageWithCapInsets(insets)
//设置滑轮左边的图像
slider.setMinimumTrackImage(trackLeftResizable, forState: .Normal)

let trackRightImage = UIImage(named: "SliderTrackRight")

let trackRightResizable = trackRightImage!.resizableImageWithCapInsets(insets)
//设置滑轮右边的图像
slider.setMaximumTrackImage(trackRightResizable, forState: .Normal)


在消息视图窗口添加一个Web视图(网页视图)来代替文本视图,注意要先在故事板上加一个UIWebController。以下代码的作用是先在应用束中找到BullsEye.html文件,然后把它加载到一个NSData对象中,最后让网页视图显示NSData对象中的具体内容。

//以下代码的作用是先在应用束中找到BullsEye.html文件,然后把它加载到一个NSData对象中,最后让网页视图显示NSData对象中的具体内容。
//htmFile是字符串对象,保存BullsEye.html文件在系统中的路径
if let htmlFile = NSBundle.mainBundle().pathForResource("BullsEye", ofType: "html"){
//html是数据对象,保存BullsEye.html文件中的具体内容
let htmlData = NSData(contentsOfFile: htmlFile)
//baseURL是URL网页对象,保存系统的主要路径,这里是本地网地址不是互联网地址
let baseURL = NSURL.fileURLWithPath(NSBundle.mainBundle().bundlePath)
//webView视图加载具体格式的内容
webView.loadData(htmlData, MIMEType: "text/html", textEncodingName: "UTF-8", baseURL: baseURL)
}


不用本地的Html文件,注释上面的代码,修改如下,由于Xcode版本更新后,原来用的函数URLWithString是不能再用了:

let url = NSURL(string: "http://www.baidu.com")
var request: NSURLRequest = NSURLRequest(URL: url!)
webView.loadRequest(request)

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