开发者社区> master_haku> 正文

iOS编程(双语版) - 视图 - 手工代码(不使用向导)创建视图

简介: 如何创建一个空的项目,最早的时候XCode的项目想到中,还有Empty Application template这个选项,后来Apple把它 给去掉了。 我们创建一个单视图项目。 1) 删除main.
+关注继续查看

如何创建一个空的项目,最早的时候XCode的项目想到中,还有Empty Application template这个选项,后来Apple把它

给去掉了。

我们创建一个单视图项目。

1) 删除main.storyboard

2) 删除ViewController相关文件

3) 删除AppDelegate的所有内容

 

给你的AppDelegate加入如下内容:

(Objective-C代码)

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    
    // 指定窗口的根视图控制器
    self.window.rootViewController = [UIViewController new];
    UIView* mainview = self.window.rootViewController.view;
    
    // 将自定义视图增加为窗口根视图控制器视图的子视图
    UIView* v = [[UIView alloc] initWithFrame:CGRectMake(100,100,50,50)];
    v.backgroundColor = [UIColor redColor]; // small red square
    [mainview addSubview: v]; // add it to the main view
    
    // 使窗口可见
    self.window.backgroundColor = [UIColor whiteColor];    
    [self.window makeKeyAndVisible];
    
    return YES;
}

 

(Swift代码-iOS9)

func application(application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    self.window = UIWindow()
    
    // 指定窗口的根视图控制器
    self.window!.rootViewController = UIViewController()    
    let mainview = self.window!.rootViewController!.view
    
    // 将自定义视图增加为窗口根视图控制器视图的子视图
    let v = UIView(frame:CGRectMake(100,100,50,50))
    v.backgroundColor = UIColor.redColor() // small red square
    mainview.addSubview(v) // add it to main view
    
    // 使窗口可见
    self.window!.backgroundColor = UIColor.whiteColor()
    self.window!.makeKeyAndVisible()
    
    return true
}

 

运行结果:

在白色背景下看到一个红色的矩形

 

如何删除所有子视图?

Apple很奇怪地没有提供这一API,所以我们只好自己干啦。

(Objective-C代码)

for (UIView* v in view.subviews)
    [v removeFromSuperview];

// 或者可以这样
[view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

 

(Swift代码-iOS9)

myView.subviews.forEach {$0.removeFromSuperview()}

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE PL/SQL编程之八:把触发器说透 得到了大家的强力支持,感谢。
811 0
xcode反汇编调试iOS模拟器程序(八)反汇编自己的代码来掌握规则
掌握了基本技巧后,基本上已不难理解所有的反汇编结果。授之以鱼不如授之以渔: 通过观察自己写的代码的反汇编来掌握各种代码的反汇编结果,从而逆向推测系统代码的源码。
998 0
IOS使用CFURLCreateStringByAddingPercentEscapes进行URL编码
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:宋体; font-size:14px; line-heig
1314 0
iOS网络编程之三——NSURLConnection的简单使用
iOS网络编程之三——NSURLConnection的简单使用
64 0
iOS网络编程之六——数据缓存类NSURLCache使用解析
iOS网络编程之六——数据缓存类NSURLCache使用解析
52 0
tableView的组顶部视图和底部视图跟随tableView滑动
把tableView的样式设置成 <p style="margin-top:0px; margin-bottom:0px; font-size:14px; font-family:Menlo">UITableViewStyleGrouped;</p> <p style="margin-top:0px; margin-bottom:0px; font-size:14px; font-fa
1410 0
iOS中 Framework静态库的创建和使用遇到的那些坑 韩俊强的博客
前言 网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题,所以我把自己制作framework的过程记录下来,并且使用的是最新的Xcode8环境。
1276 0
+关注
master_haku
Master HaKu
502
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载