女神画廊App (Swift1.2)

这个App的是storyboard+code的结合,主要的重点是:

1.segue传递图片值。

2.Autolayout中可以使用右下角三角符号使用Add Missing Constraints进行大概约束,使之适应不同大小屏幕。

3.上边栏Editor -> Embed In -> Navigation Controller或者Tab Bar Controller。

4.实现分享功能。

5.注意storyboard设计Navigation Controller界面时关于segue的modal类型要改为push类型。

6.按住Command点击某个Controller控件代码可显示其方法类。

storyboard设计界面:

目录结构:

ViewController.swift文件代码:

 1 import UIKit
 2 class ViewController: UIViewController {
 3
 4     @IBOutlet weak var beautyPicker: UIPickerView!
 5     let beauties = ["范冰冰","李冰冰","王菲","杨幂","周迅"]
 6     override func viewDidLoad() {
 7         super.viewDidLoad()
 8         beautyPicker.dataSource = self
 9         beautyPicker.delegate = self
10     }
11     override func didReceiveMemoryWarning() {
12         super.didReceiveMemoryWarning()
13         // Dispose of any resources that can be recreated.
14     }
15
16     override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
17         if segue.identifier == "GoToGallery"{
18             let index = beautyPicker.selectedRowInComponent(0)
19             var imageName:String?
20             switch index{
21             case 0:
22                 imageName = "fanbingbing"
23             case 1:
24                 imageName = "libingbing"
25             case 2:
26                 imageName = "wangfei"
27             case 3:
28                 imageName = "yangmi"
29             case 4:
30                 imageName = "zhouxun"
31             default:
32                 imageName = nil
33
34             }
35             var vc = segue.destinationViewController as! GalleryController
36             vc.imageName = imageName
37         }
38     }
39 }

View.swift (ViewController.swift的额外扩展文件):

 1 import UIKit
 2
 3 extension ViewController:UIPickerViewDataSource{
 4     // returns the number of ‘columns‘ to display.
 5     func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int{
 6         return 1
 7     }
 8     // returns the # of rows in each component..
 9     func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
10         return beauties.count
11     }
12 }
13 extension ViewController:UIPickerViewDelegate{
14     func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!{
15         return beauties[row]
16     }
17 }

GalleryController.swift文件代码:

 1 import UIKit
 2 import Social
 3
 4 class GalleryController: UIViewController {
 5     var imageName:String?
 6
 7     @IBOutlet weak var beautyImage: UIImageView!
 8     override func viewDidLoad() {
 9         super.viewDidLoad()
10         /*if (imageName != nil){
11             beautyImage.image = UIImage(named: imageName!)//修改前
12         }*/
13
14         if let name = imageName {
15             beautyImage.image = UIImage(named: name)
16             switch name{
17             case "fanbingbing":
18                 navigationItem.title = "范冰冰"
19             case "libingbing":
20                 navigationItem.title = "李冰冰"
21             case "wangfei":
22                 navigationItem.title = "王菲"
23             case "yangmi":
24                 navigationItem.title = "杨幂"
25             case "zhouxun":
26                 navigationItem.title = "周迅"
27             default:
28                 navigationItem.title = "女神画廊"
29             }
30         }
31     }
32     override func didReceiveMemoryWarning() {
33         super.didReceiveMemoryWarning()
34         // Dispose of any resources that can be recreated.
35     }
36
37     //分享按钮
38     @IBAction func shareTapped(sender: AnyObject) {
39         var controller: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTencentWeibo)
40         controller.setInitialText("一起来玩女神画廊app吧,就在Github上")
41         controller.addImage(beautyImage.image)
42         self.presentViewController(controller, animated: true, completion: nil)
43     }
44 }

KoreanViewController文件代码:

 1 import UIKit
 2 import Social
 3 class KoreanViewController: UIViewController {
 4     @IBOutlet weak var beautyImage: UIImageView!
 5     override func viewDidLoad() {
 6         super.viewDidLoad()
 7     }
 8     override func didReceiveMemoryWarning() {
 9         super.didReceiveMemoryWarning()
10         // Dispose of any resources that can be recreated.
11     }
12     //facebook分享
13     @IBAction func facebooTapped(sender: AnyObject) {
14         var controller: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
15         controller.setInitialText("一起来玩女神画廊app吧,就在Github上")
16         controller.addImage(beautyImage.image)
17         self.presentViewController(controller, animated: true, completion: nil)
18     }
19     //twitter分享
20     @IBAction func twitterTapped(sender: AnyObject) {
21         var controller: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
22         controller.setInitialText("一起来玩女神画廊app吧,就在Github上")
23         controller.addImage(beautyImage.image)
24         self.presentViewController(controller, animated: true, completion: nil)
25     }
26     //微博分享
27     @IBAction func WeiboTapped(sender: AnyObject) {
28         var controller: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeSinaWeibo)
29         controller.setInitialText("一起来玩女神画廊app吧,就在Github上")
30         controller.addImage(beautyImage.image)
31         self.presentViewController(controller, animated: true, completion: nil)
32     }
33 }

运行结果:

时间: 2024-11-09 04:15:05

女神画廊App (Swift1.2)的相关文章

跟Google 学代码 :Building Apps with Content Sharing(跟女神去表白)

本篇博客都讲了些什么? 1. Sharing Simple Data 共享简单的数据,如文本,图片,URI 2. Sharing Files 共享文件 3. Sharing Files with NFC无线传输 在写博客之前,假设 "我"是服务端App,我的"女神"是客户端App 情书是"我"想传递的数据 那么我该如何做呢? 向客户端App发送数据(暗送秋波篇) 对女神爱在心中口难开怎么办?如何示爱这是穷学生最纠结的心病 在Android 开发中

Android -- 使用ViewPager实现画廊效果

1,今天在微信推送文章看到实现画廊效果,感觉挺不错的,就来写写试试,先来看一下效果图: 上面的效果基本上可以用两个功能点来包含:ViewPager的切换动画.ImageView的倒影的实现 嗯,先来将我们主要的功能来实现,就是我们的ViewPager展示图片 主界面的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.

浅谈短视频APP的发展趋势

2014年6月20日,在AppAnnie最新发布5月应用指数中,美拍荣登“非游戏类iOS榜单”全球下载量第一位置,成为全球iOS应用商店最热门APP.能在<AppAnnie应用指数>这份App市场晴雨表上大放异彩,美拍必然有它的独特之处.而美拍正是我们现在所熟知的最热门的短视频APP之一.而其他短视频APP诸如腾讯的微视之流也逐渐占据了我们的生活.那么,短视频APP为什么会突然爆火于网络?其未来发展趋势又是如何呢? 我们以美拍为例,首先从其优点说起. 第一,短视频APP圈住了如今爱美的女性.

android学习---Gallery画廊视图

Gallery与Spinner有共同父类:AbsPinner,说明Gallery与Spinner都是一个列表框.它们之间的区别在于Spinner显示的是一个垂直的列表选择框,而Gallery显示的是一个水平的列表选择框.Spinner的作用是供用户选择,而Gallery则允许用户通过拖动查看上一个,下一个. Gallery用法与Spinner的用法形似,只要为它提供一个内容Adapter就可以了.Adapter的getView方法返回View作为Gallery列表的列表项.如果程序需要监控Gal

神侃:反向激励能救活多少APP?

在很多宣扬互联网企业成功的宣传文案中,为了将其包装地更大高大上和有逼格,总是会将各种心理学术名词用上,以显示自己对市场.用户群体的观察入微.当然事实上所谓的心理学术名词,都是"马后炮"而已,是成功案例的锦上添花.但这次咱们要说的是,还没有普及开,也没有真正验证过,但确实可以想象其用途的心理学术名词--反向激励法.说了那么多,到底反向激励法能不能成为网站.APP的催化剂呢? 反其道而行!互联网就该想些"歪点子" 通俗点讲,反向激励法类似于通常所说的激将法.两者的相同之

Android APP漏洞挖掘

0x00 1.组件公开安全漏洞 参考Android 组件安全. 2.Content Provider文件目录遍历漏洞 参考Content Provider文件目录遍历漏洞浅析. 3.AndroidManifest.xml中AllowBackup安全检测 参考两分钟窃取身边女神微博帐号?详解Android App AllowBackup配置带来的风险. 4.Intent劫持风险安全检测 参考Android组件通信过程风险. 5.数据存储安全检测 参考Android Database配置模式安全风险

闹钟类app构想

NABC--闹钟app N:我们打算针对那些易健忘的人来制作一款闹钟功能的记事本,具来说服务的对象有很多:有健忘的人,还有情侣,北漂的人及其父母(...),常年见不到亲人(双方),后期我们若提前完成基本的任务我们会加入一些新的痒点,在下面的C(竞争模块)会细说. A:先借鉴一个闹钟类的app,了解机制,采用敏捷开发:大致我想就是调用本地的录制工具,将录制好的事物保存在手机本地,在你所设定的时间上以通知栏的消息告知你(可伴有你所选的模式),最后就可以播放你所提前记录下来的事有点类似时间胶囊. B:

如何让App Extension访问Cocoapods引入的第三方库

步骤一: 选中项目,点击App Extension target(这里是Today Extension) 步骤二:在右边的Tabs中,选择Build Settings,在过滤框中输入"bridg" 在弹出的输入框中,输入你的桥接文件名(这个文件是将Objective-C写的文件暴露给Swfit使用,如果没有这个文件名,可以新建一个头文件,名字随意,一般命名规则是项目名-Bridging-Header.h). 步骤三:选择项目(PROJECT),在右边的Tabs中,选择Info,在Con

Android_Gallery(画廊)

转:http://blog.csdn.net/tianjf0514/article/details/7521398 Gallery是画廊的意思,可以实现图片的浏览功能. 主要内容 Gallery控件的使用 使用Gallery + ImageSwitcher完成图片浏览功能 一.Gallery控件的使用 要把图片显示到Gallery里面,要使用Gallery的setAdapter()方法,所以我们先写好一个adapter类 package com.tianjf; import android.co