会写ios swift 截屏代码怎么写ios代码

15:15 提问
ios swift 多个界面,viewcontroller应该怎么写呢?
ios swift 多个界面,viewcontroller应该怎么写呢?或者说怎么控制?不用storyboard
按赞数排序
你是说不同界面的跳转吗?
跳转可以这样写
let viewCro = ViewController.init()
// 假如用xib的话,用下面这句初始化
let viewCro = ViewController.init(nibName:nibName, bundle:bundle)
if (self.navigationController != nil) {
self.navigationController!.pushViewController(viewCro, animated: true)
self.presentViewController(viewCro, animated: true, completion: nil)
虽然相隔那么长的时间了,自己也在学习,在说也有很多新手在学习,希望这个代码能帮助学习
在AppDelegate文件下面的 application 方法加上这个代码
//创建window
var window: UIWindow?
window = UIWindow(frame: UIScreen.mainScreen().bounds);
window?.backgroundColor = UIColor.whiteColor();
let mainTabController = MainViewController()
window?.rootViewController = mainTabC
//显示窗口
window?.makeKeyAndVisible();
return true
---------------------------
新建一个文件名为MainViewController .swift 文件
import UIKit
class MainViewController: UITabBarController {
override func loadView() {
super.loadView();
addChildViewControllers();
func addChildViewControllers() {
addChildNavAndTabBar("CartTableViewController",title: "购物车",imageName: "tabbar_cart");
addChildNavAndTabBar("MemberController",title: "我",imageName: "tabbar_fans");
初始化子控制器
:param: childControllerName 需要初始化的子控制器
:param: title
初始化的标题
:param: imageName
初始化的图片
func addChildNavAndTabBar(childControllerName: String,title:String,imageName:String) {
//动态获取命名空间
let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! S
let cls:AnyClass = NSClassFromString(namespace + "." + childControllerName)!;
// 告诉编译器真实类型是UIViewController
let vcCls = cls as! UIViewController.T
let vc = vcCls.init();
let titleDict: NSDictionary = [NSForegroundColorAttributeName: UIColor(red: 255/255, green: 105/200, blue: 0.0/255, alpha: 1.0)]
//创建底部导航
vc.title =
vc.tabBarItem.setTitleTextAttributes(titleDict as? [String : AnyObject], forState: UIControlState.Highlighted)
vc.tabBarItem.image = UIImage(named: imageName);
vc.tabBarItem.selectedImage = UIImage(named: imageName + "_highlighted");
// 创建导航控制器
let nav = UINavigationController()
nav.addChildViewController(vc)
addChildViewController(nav)
不是跳转,是多个界面,不用storyboard怎么生成?
其他相关推荐开通极客学院VIP会员,免费观看全部会员课程
最低 21.6 元 / 月
VIP会员尊享特权
观看全部会员课程
720P高清视频下载
已有会员账号,请
视频太卡?试试切换线路
本课讲解如何通过Objective-C语言调用C++代码
本课讲解如何通过C++调用Objective-C代码
本课讲解如何通过Swift语言调用C语言代码
本课讲解如何使用Swift、Objective-C、C++语言混合编程开发iOS应用
只有成为VIP会员才能提问&回复,快吧!如果你还没有账号你可以一个账号。
添加新技术问题
课程 [Swift调用C语言代码]
中已存在问题
添加新技术问题
问题描述越详细,被解答的速度越快
有新回答时请邮件提醒我
着急,拜托快点
不急,慢慢解决
关联课程 [Swift调用C语言代码]本文是在xocde6 beta1版本下写得,到xcode6正式版本后会有些小错误,请参看我的另一篇博客swift第一个ios项目,纯代码编程(续)http://blog.csdn.net/lh_work/article/details/
是在本文基础上修改和添加了一些东西
最近看了看网上关于swift的一些基础介绍,大部分都采用了storyboard的方式来设计界面。但是本人还是比较喜欢以纯代码的方式来写代码的,呵呵,和本人的习惯有关。所以在这里介绍一下怎么样基于swift语言用纯代码的方式来写一个小应用吧。
当前AppStore中还没有推出Xcode6的正式版本,只能去官网用开发者账号下载beta版本,同时Xcode6要求OS X版本在10.9.3以上版本,所以发现无法使用Xcode6的朋友先升级下系统吧。
现在开始打开Xcode6来创建一个新项目吧
选择Empty Application后点击next后再选择存储位置,这里就不赘述了,直接开始写代码吧
进入项目的时候只有一个AppDelegate.swift代码文件,和以前的ios项目中.h和.m文件实现一个类不同,swift语言将.h和.m中合并成了一个.swift来实现
那么我们现在先来创建一个试图控制器ViewController,为方便下一步给UIWindow设置根试图控制器
选择Cocoa Touch Class点击Next 继续
照着图选择继承的类和swift语言点击Next
此时将多出了一个ViewController.swift代码文件,进入这个代码文件将其init方法删除,记得必须删除,因为我们下面是用纯代码创建对象的,如果不删除这个nib初始化方法,下面在AppDelegate中创建的时候将会出错。
&init(nibName nibNameOrNil:String?, bundle nibBundleOrNil:NSBundle?)
& & & &super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
& & & & // Custom initialization
回到AppDelegate中开始写代码
func application(application:UIApplication, didFinishLaunchingWithOptions launchOptions:NSDictionary?)
& & & & //创建试图控制器
& & & &var vc =ViewController()
& & & & //创建导航控制器,并设置其根试图控制器为vc
& & & &var nav & =UINavigationController(rootViewController:vc);
& & & &self.window =UIWindow(frame:UIScreen.mainScreen().bounds)
& & & & // Override point for customization after application launch.
& & & &self.window!.backgroundColor =UIColor.whiteColor()
& & & & //设置UIWindow的根试图控制器
& & & &self.window!.rootViewController =
& & & & self.window!.makeKeyAndVisible()
& & & &returntrue
这样就实现了纯代码的方式在swift基础上实现程序试图控制器的跳转了,接下来我们在试图控制器中添加并实现一个简单的tableview的使用
进入ViewController中
//创建tableview
& &var tableView :UITableView?
& & & &overridefunc viewDidLoad() {
& & & &super.viewDidLoad()
& & & & & &self.title =&MySwift&
& & & &setupViews()
& & & & // Do any additional setup after loading the view.
& &func setupViews()
& & & & //初始化tableview并设置frame
& & & &self.tableView =UITableView(frame:self.view!.frame)
& & & & //设置tableview的代理对象
& & & &self.tableView!.delegate =self
& & & &self.tableView!.dataSource =self
& & & &self.tableView!.registerClass(UITableViewCell.self,
forCellReuseIdentifier:&cell&)
//将tableview添加到view试图上
& & & &self.view?.addSubview(self.tableView)
在这里要注意的是设置tableview的代理对象的时候会报错,其实就是因为没有在类中继承代理协议,这个和以前的警告不同直接报错了,我们在类中继承tableview的代理协议
class ViewController:UIViewController ,UITableViewDelegate ,UITableViewDataSource{
大家继续写的时候发现
self.tableView!.dataSource&=&self
这里仍然报错,原因是UITableViewDataSource有两个必须实现的方法,只要把这两个方法粘贴到代码中就不会了,后面的报错就不一一赘述原因了,这里的报错很多就是方法没有返回值或者没有实现代理引起的警告。
好,我们下面实现两个代理方法
func tableView(tableView:UITableView!, numberOfRowsInSection section:Int)
& & & &return20;
& & // Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier:
& & // Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)
& &func tableView(tableView:UITableView!, cellForRowAtIndexPath indexPath:NSIndexPath!)
-& UITableViewCell!
& & & &let cell = tableView .dequeueReusableCellWithIdentifier(&cell&, forIndexPath:
indexPath)as UITableViewCell
& & & & cell.textLabel.text =String(format:&%i&,
indexPath.row+1)
& & & &return cell
这样就将这个简单的项目完成了,以上都是本人个人的一些想法实现,希望能给大家带来帮助吧。主要是为了帮助大家熟悉运用swift像以前用Objective-C编写代码的感觉吧。不足之处请大家指出,谢谢。
本文已收录于以下专栏:
相关文章推荐
要求 宽高200的view,通过代码,使得view在距离父控件的右下角20边距处
/* 约束的设置,控件内部约束由自己添加,比如宽高,如果是与其他的
           控件约束那么有父控件...
Swift 开源项目精选
站在个人的角度,并基于《Swift 语言指南》,针对开源项目做了一个甄别、筛选。当然,由于个人能力及涉足范围所限,还远远不够,其中肯定有偏颇及不足,还望同学们多多见谅。更...
一.关于swift
Swift是一种适用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言之上,并且没有C语言的兼容性限制。Swift采用安全的编程模式,增加了现代功...
Swift的应用
与Cocoa交互
要用Swift写App首先需要了解的就是UI怎么写、系统功能怎么调用。由于Swift并没有重写系统功能库,只是对Cocoa进行了桥接,所以要调用系统功能就要...
1.新建一个工程,选择ios Application -& Single View Application -& Next -& Product Name:SimpleCalulater, Langu...
1. 本系列说明
本系列只是一个Swift快速入门的教程,并没有详尽的介绍Swift,Swift也并不是一个简单的编程语言,所以要想详尽的系统的学习Swift,本系列并不适合你,此系列只是让开发者可...
本系列是Swift官方入门教程的翻译版,含源码,欢迎一起学习Swift。
前面文章写得swift第一个ios项目用xcode6.1打开you'di
storyboad的拖拽关联给我们开发带来了很大的便利,但是在目前的很多公司进行IOS开发时是禁止员工使用storyboard的,纯代码的实现方式仍然是主流,对于Swift这样一门新兴语言,加强语言的...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 ios 约束 代码怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信