QQ侧滑实现架构:
需要建立以下几个ViewController:
1.XQBaseViewController 
2.LeftViewController
3.RightViewController
4.ContentViewController(中间显示的主要内容)

5.SliderViewController(用于控制侧滑动画,控制左右侧栏的显示和隐藏)

 import UIKit
class SliderViewController: UIViewController { var mainContentView:UIView!
var leftSideView:UIView!
var rightSideView:UIView! override func viewDidLoad() {
super.viewDidLoad();
initSubViews()
// showLeftViewController()
}
//在self.View上添加左中右三个视图
func initSubViews()
{
let viewRect=self.view.bounds
rightSideView=UIView(frame:viewRect)
rightSideView.backgroundColor=UIColor.blueColor()
self.view.addSubview(rightSideView)
leftSideView=UIView(frame:viewRect)
leftSideView.backgroundColor=UIColor.yellowColor()
self.view.addSubview(leftSideView)
mainContentView=UIView(frame:viewRect)
mainContentView.backgroundColor=UIColor.redColor()
self.view.addSubview(mainContentView)
} //显示左侧Controller
func showLeftViewController()
{
let translateX:CGFloat=
let transcale:CGFloat=0.85
var transT:CGAffineTransform=CGAffineTransformMakeTranslation(translateX, )
var scaleT:CGAffineTransform=CGAffineTransformMakeScale(transcale, transcale)
var conT:CGAffineTransform=CGAffineTransformConcat(transT, scaleT)
UIView.animateWithDuration(0.8, animations: { () -> Void in
self.mainContentView.transform=conT
})
}
}

本文出自:
小鸟天空博客:http://www.cnblogs.com/wuxian/p/4322831.html

转载请注明来源。

Swift实战-小QQ(第2章):QQ侧滑菜单的更多相关文章

  1. Swift实战-小QQ(第1章):QQ登录界面

    1.新建小QQ项目 2.将所需用到的图片资源(resource)文件夹,添加到项目中.并新建一个登录页面:LoginViewController.swift 3.修改LoginViewControll ...

  2. Swift实战-小QQ(第3章):QQ主界面布局

    1.导航栏外观设定*在AppDelegate.swift文件中的didFinishLaunchingWithOptions方法添加以下代码 func application(application: ...

  3. Python爬虫实战:使用Selenium抓取QQ空间好友说说

    前面我们接触到的,都是使用requests+BeautifulSoup组合对静态网页进行请求和数据解析,若是JS生成的内容,也介绍了通过寻找API借口来获取数据. 但是有的时候,网页数据由JS生成,A ...

  4. 再造 “手机QQ” 侧滑菜单(一)——实现侧滑效果

    本系列文章中,我们将尝试再造手机QQ的侧滑菜单,力争最大限度接近手Q的实际效果,并使用 Auto Layout 仿造左侧菜单,实现和主视图的联动. 代码示例:https://github.com/jo ...

  5. .NET Core实战项目之CMS 第九章 设计篇-白话架构设计

    前面两篇文章给大家介绍了我们实战的CMS系统的数据库设计,源码也已经上传到服务器上了.今天我们就好聊聊架构设计,在开始之前先给大家分享一下这几天我一直在听的<从零开始学架构>里面关于架构设 ...

  6. 自定义控件?试试300行代码实现QQ侧滑菜单

    Android自定义控件并没有什么捷径可走,需要不断得模仿练习才能出师.这其中进行模仿练习的demo的选择是至关重要的,最优选择莫过于官方的控件了,但是官方控件动辄就是几千行代码往往可能容易让人望而却 ...

  7. Android中集成QQ登陆和QQ好友分享及QQ空间分享

    extends : http://blog.csdn.net/arjinmc/article/details/38439957 相关官方文档及下载地址: 如果只用分享和登陆,用lite包就可以,体积小 ...

  8. 【全面解禁!真正的Expression Blend实战开发技巧】十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel)

    原文:[全面解禁!真正的Expression Blend实战开发技巧]十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel) 写这篇文 ...

  9. 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...

随机推荐

  1. vue model双向绑定

    view <div id='demo' class="container"> <input type="text" v-model='name ...

  2. a single statement, not multiple statements

    http://dev.mysql.com/doc/refman/5.7/en/prepare.html Statement names are not case sensitive. preparab ...

  3. Matplotlib for Python Developers

    这个教程也很不错,http://reverland.org/python/2012/09/07/matplotlib-tutorial/ 也可以参考官网的Gallery,http://matplotl ...

  4. ubuntu下各个软件完全卸载

    1.卸载mysql sudo rm /var/lib/mysql/ -R删除mysql的数据文件2sudo rm /etc/mysql/ -R删除mqsql的配置文件3sudo apt-get aut ...

  5. arcgis server site 快速恢复与重建

    背景 在实际的工作中,会遇到如下的情形: arcgis server服务能够启动,但是由于未知的操作原因导致site里面的某个功能出现故障. 要想在短时间内,使得server能够恢复正常功能.且: 不 ...

  6. 非模态对话框的PreTranslateMessage() 没有用,无法进去

    非模态对话框的的PreTranslateMessage确实进不去, 自然也无法用重载PreTranslateMessage的方法来响应键盘消息. 可以用Hook的方法来使其生效. http://bbs ...

  7. global.asax、global.asax.compiled、PrecompiledApp.config三者关系

    global.asax用WebDeploy发布后,会在bin下面产生一个global.asax.compiled,同时根目录下产生PrecompiledApp.config. 正常情况下global. ...

  8. 使用JavaScript创建我的分页

    把下面的方法放到一个js文件,页面引用他就行了 JavaScript function PageList(PageSize, PageIndex, TotalCount, ParList) { $(& ...

  9. 【Android测试】【随笔】与 “美丽说” 测试同事交流

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5405432.html 分享者简介 雪晗,3年+测试经验,现 ...

  10. How To Set Up Apache with a Free Signed SSL Certificate on a VPS

    Prerequisites Before we get started, here are the web tools you need for this tutorial: Google Chrom ...