iOS开发UI篇—IOS开发中Xcode的一些使用技巧

一、快捷键的使用

经常用到的快捷键如下:

新建

shift + cmd + n 新建项目

cmd + n 新建文件

视图

option + cmd + 回车 打开助理编辑器

cmd + 回车 显示主窗口

cmd + 0 导航窗口

option + cmd + 0 工具窗口

在.m & .h之间切换 control + cmd + 上/下

按照浏览文件的前后顺序切换 control + cmd + 左右

查看头文件 control + cmd + j

切换到对应的函数control + 6 支持智能输入,注意输入法

运行

cmd + r 运行

cmd + . 停止

cmd + b 编译

cmd + shift + b 静态内存分析编译,可以检查程序结构上是否存在内存泄露

排版

control + i 将选中按钮重新缩进

cmd + ] 向右增加缩进

cmd + [ 向左减少缩进

cmd + / 注释/取消注释,提示:取消注释时,注释双斜线必须在行首

cmd + 向上 到文件开始位置

cmd + 向下 到文件末尾位置

二、OC专有注释

注释形式和效果

(1)#pragma mark 注释


(2)#pragma mark- 注释


三、warning的使用(注意)

使用形式:

#warning 代码还没有写完

可以帮助我们对代码进行快速的定位


四、代码块的使用

对于经常使用的代码块,可以以代码块的方式保存起来,设置提示词,以便快速的编码。


对代码块进行适当的编辑

使用<#name#>和<#type#>让保存的代码块不被“写死”;

设置后的提示效果:


五、打印内容查看(重写description方法的技巧)

代码示例:   

- (NSString *)description
{
 // 包含对象类型名称,以及对象的指针地址 return [NSString stringWithFormat:@"<%@: %p> {answer: %@, title: %@, icon: %@, options: %@}", [self class], self, self.answer, self.title, self.icon, self.options];
}

提示:

如果要在开发时,跟踪对象的明细信息,可以重写description方法,类似于java的toString()

为根类添加一个扩展

#import "NSArray+Log.h"

@implementation NSArray (Log)

- (NSString *)descriptionWithLocale:(id)locale
{
    // 遍历数组中的所有内容,将内容拼接成一个新的字符串返回
    NSMutableString *strM = [NSMutableString string];

    [strM appendString:@"(\n"];

    // 遍历数组,self就是当前的数组
    for (id obj in self) {
        // 在拼接字符串时,会调用obj的description方法
        [strM appendFormat:@"\t%@,\n", obj];
    }
    [strM appendString:@")"];
    return strM;
}

@end
时间: 2024-08-04 03:00:17

iOS开发UI篇—IOS开发中Xcode的一些使用技巧的相关文章

iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明

一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而ImageView中只能放置一张图片. (2)说明: ImageView只能

iOS开发UI篇—在UItableview中实现加载更多功能

一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器)会加载两条数据进来. 视图部分的按钮被点击的时候,要让主控制器加载数据,刷新表格,2B青年会在视图中增加一个主控制器的属性,通过这个属性去调用进行加载,但在开发中通常通过代理模式来完成这个操作. 下面分别是两种实现的代码. 1.项目结构和说明 说明:加载更多永远都放在这个tableview的最下端,因此这里设置成了这个tableview的

iOS开发UI篇—iPad开发中得modal介绍

一.简单介绍 说明1: 在iPhone开发中,Modal是一种常见的切换控制器的方式 默认是从屏幕底部往上弹出,直到完全盖住后面的内容为止 说明2: 在iPad开发中,Modal的使用频率也是非常高的 对比iPhone开发,Modal在iPad开发中多了一些用法 二.呈现样式 (一)什么叫呈现样式 Modal出来的控制器,最终显示出来的样子 (二)Modal常见有4种呈现样式 (1)UIModalPresentationFullScreen :全屏显示(默认) (2)UIModalPresent

IOS开发UI篇--IOS动画(Core Animation)总结

一.简介 IOS 动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide. Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架.Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分绘帧工作.你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Animation的动画效果.Core Animation将大部分实际的绘图任务交给了图形硬件来处理,图形硬件会加

iOS开发UI篇—ios应用数据存储方式(偏好设置)

一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 1 // 2 // YYViewController.m 3 // 01-偏好设置 4 // 5 // Created by apple on 14-6-7. 6 // Cop

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)

一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储) 5.Core Data(对象型的数据库,把内部环节屏蔽) 二.应用沙盒 每个iOS应用都有⾃己的应⽤沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应⽤必须待在⾃己的沙盒里,其他应用不能访问该沙盒(提示:在IOS8中已经开放访问) 应⽤沙盒的文件系

iOS开发UI篇—ios应用数据存储方式(归档)

一.简单说明 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息) 归档:因为前两者都有一个致命的缺陷,只能存储常用的类型.归档可以实现把自定义的对象存放在文件中. 二.代码示例 1.文件结构 2.代码示例 YYViewController.m文件 1 // 2 // YYViewController.m 3 // 02-归档 4 // 5 // Created by

iOS开发UI篇—UITableviewcell的性能优化和缓存机制

iOS开发UI篇-UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource的 tableView:cellForRowAtIndexPath:方法来初始化每⼀行 UITableViewCell内部有个默认的子视图:contentView,contentView是UITableViewCell所显示内容的父视图,可显示一些辅助指示视图 辅助指示视图的作⽤是显示一个表示动作的

iOS开发UI篇—popoverController使用注意

iOS开发UI篇-popoverController使用注意 iOS开发UI篇-popoverController使用注意 一.设置尺寸 提示:不建议,像下面这样吧popover的宽度和高度写死. 1 //1.新建一个内容控制器 2 YYMenuViewController *menuVc=[[YYMenuViewController alloc]init]; 3 4 //2.新建一个popoverController,并设置其内容控制器 5 self.popover=[[UIPopoverCo