第一次实战写iOS的小程序,记录下这次写这个程序中遇到的种种问题以供后面参考
Q1:可以使用storyboard进行直观的页面布局,那用代码形式有何意义?
A1:实际开发过程中很多情况下都会直接用代码进行布局,特别是页面复杂的情况下,使用storyboard可能会使一些设置的更改变得麻烦,而使用代码某种程度上会使更改更为简单(?),而且有利于更好地理解程序。
Q2:Xcode 6.0以后没有了empty application的模板,该怎么办?
A2:2种方法
一、创建一个single view application工程,通过对其修改来形成以前的empty application的形式,具体步骤
1、删除工程目录下的main.storyboard
2、选择plist文件,把main storyboard file base name那个删除掉
3、在appelegate生命循环的第一个方法里,添加以下内容,创建window
self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
//设置window属性
self.window.backgroundColor = [UIColorgrayColor];
//window背景
i3ViewController *mainController = [[i3ViewControlleralloc]init];
//初始化
mainController.view.frame =self.window.bounds;
//设置自定义控制器的大小和window相同,位置为(0,0)
self.window.rootViewController = mainController;
//设置此控制器为window的根控制器
[self.windowmakeKeyAndVisible];
(i3ViewController为自己创建的viewcontroller,使用前应先#import"i3ViewController.h")同时还要保证main interface为空(一开始的页面设置),否则会报错
网上有很多使用这种方法的,实际上我用了一下也是谜之报错。。可能哪里设置问题?不过有更简单的方法2
二、直接下载empty application模板
从网上直接下载一个模板,然后放到放模板的路径中,就可以直接在Xcode里使用了,简单快捷。。
Q3:UIView?
A3:UIView表示一块矩形区域,在APP中有很重要的地位,几乎所有可视化控件都是其子类。负责渲染区域内容,并且响应区域里的事件。
可参考:http://blog.csdn.net/chengyingzhilian/article/details/7894276
Q4:UIButton相关?
UIButton事件方法解释:http://blog.163.com/cz_jdton/blog/static/92732504201282543017312/
UIButton用法:http://blog.csdn.net/cheneystudy/article/details/8115092
Q5:设置UIButton样式?
可以通过下面方法
UIButton *signBtn = [UIButton buttonWithType:UIButtonTypeCustom];//这里设置按钮类型
signBtn.frame = CGRectMake(0, 0, 80, 40);
[signBtn.layer setMasksToBounds:YES];
[signBtn.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
[signBtn.layer setBorderWidth:1.0]; //边框宽度
Q6:下午写了这么一个按钮控件,但是点击之后并不能输出想要的内容而是(LLDB)?
UIButton *anniu = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];
//设置按钮样式为圆角方形
anniu.frame = CGRectMake(100, 270, 150, 30);
//按钮位置
[anniu.layer setCornerRadius:10.0];
//按钮圆角半径
[anniu.layer setBorderWidth:1.0];
//边框宽度
[anniu.layersetMasksToBounds:YES];
//告诉layer在其之下的都遮住,保证圆角效果
anniu.backgroundColor = [UIColorredColor];
//按钮背景色
[anniu setTitle:@"点击来完成任务"forState:UIControlStateNormal];
//按钮标题,并定义常规状态下就显示文字
[anniu addTarget:selfaction:@selector(letsgo:)forControlEvents:UIControlEventTouchUpInside];
//点击按钮时间,使用letsgo,在控件内触摸抬起事件
[self.viewaddSubview:anniu];
}
-(void)letsgo:(UIButton *)sender{
NSLog(@"任务完成");
//点击按钮时调用此方法,输出“任务完成”
}
A6:好吧解决了 问题出在当时没留意在输出的方法那里设置了断点。。导致一按下按钮就直接结束了 把断点去掉之后就正常运行了
7、关于类的命名,变量、方法等的命名问题很大啊。。
类:一般大写开头
变量/方法:小写或者_开头
每个新单词开头字母大写,或者下划线隔开,以便清楚分辨
8、随手注释。。要不回头看不懂
9、待补充