- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 《Apple Watch 开发》WKInterfaceTable 列表控件小结
目标结果截图:目前 watch OS 2.0 开放的接口非常有限WKinterfaceTable 类包含的接口:- (void)setRowTypes:(NSArray *)rowTypes;// row names. size of array is number of rows- (void)setNumberOfRows:(NSInteger)numbe
2015-08-17 23:22:41
2137
原创 《Apple Watch 开发》UI 布局、大小等基本控制
1. 修改背景2. 修改内容边距大小,子视图间距大小3. 调整视图的显示位置和大小在水平方向上,有 left、center、right 3种位置;在垂直方向上,有 top、center、bottom 3种位置。width 和 height 的控制有3种方式,Size To
2015-08-16 23:38:24
1249
原创 运行时Runtime 小结
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。
2015-08-08 22:29:28
586
原创 UITextField 禁用复制粘贴功能
1. 新建一个 UITextField 的分类或者是新建一个继承自UITextField的子类(避免与其他UITextField冲突)。2. 在分类或子类中重写相应的方法。方法一 (禁用所有输入框功能按钮):-(BOOL)canPerformAction:(SEL)action withSender:(id)sender { UIMenuController *
2015-08-02 18:47:37
7789
原创 自定义普通文本TableView header footer 视图
1. 先注册[self.lawyerTableView registerClass:[UITableViewHeaderFooterView class] forHeaderFooterViewReuseIdentifier:@"header"];2. 实现代理方法- (UIView *)tableView:(UITableView *)tableView
2015-08-02 18:39:44
2766
原创 UITextView 或 继承自UIScrollView的控件在UINavigationController的根控制下的奇怪现象
无论是代码写UI还是拖控件搭UI,如果当前控制器的View的第一个子View是UITextView或者是继承自UIScrollView的控件,会有奇怪的现象,如下图: 输入光标会上下跳跃,有种失灵的感觉。 这是因为当导航栏的半透明效果开启的时候(translucent属性值为YES),控制器的View的(0,0)坐标在手机屏幕左上
2015-04-02 22:43:36
1255
原创 应用国际化
一个IOS应用可能需要针对不同的国家进行相应的修改,尤其是里面的文字。目前,IOS提供的国际化API包括文本信息国际化、xib和storyboard、资源文件国际化。文本信息国际化 :它首先被考虑的,包括应用的名称、按钮文字、警告提示信息以及界面上显示的静态文字等。 xib和storyboard文件国际化 :同一个界面和场景可以提供本地化版本的xib和storyboar
2014-05-07 11:43:46
697
原创 ARC 项目与非ARC代码文件兼容方法
选中项目,选中 “Build Phases” 选项卡,展开 “Compile Sources” ,选中不需要 ARC 支持的文件,敲回车键,弹出的窗口中输入 “-fno-objc-arc” 。然后 clean一下即可这样ARC 项目中就可以实现兼容 非ARC 代码的文件。
2014-05-01 20:15:20
711
原创 NSArray 和 NSMutableArray
NSArray :不可变数组NSMutableArray:可变数组常用创建方法:NSArray *array = @[a1, a2, a3];它里面的函数可以是任何NSObject类型,并且可以混合一起作为一个数组。但这种方法只适用于 NSArray 类型数据,不适用于 NSMutableArray类型数据。取值方法:array[i];遍历数组方法
2014-04-12 15:27:24
1008
原创 NSDictionary 和 NSMutableDictionary
NSDictionary:不可变字典NSMutableDictionary:可变字典其实 字典型 数据类型就相当于 Java 中的 Map 数据类型,他们都是以键值对的形式存储数据。里面元素的数据类型都是id类型,即OC的object数据类型。里面的元素是无序的。常用创建方法1)[NSDictionary dictionaryWithObject:@“val
2014-04-12 15:24:46
756
原创 集合总结(Array,Set,Dictionary)
只能存放OC对象,但不能存放非OC对象类型(基本数据类型:int、char、float等,结构体、枚举)和空值(nil)。1. NSArray\NSMutableArray (相当于Java中的List)* 有序。* 变量初始化后,一个是可变的,一个是不可变的。* NSArray 快速创建:@[obj1, obj2, obj3,….];* 快速访问元素:数组名[ind
2014-04-12 15:20:40
1050
原创 在集合类型(Array, Set, Dictionary)变量中包含基本数据类型
在集合中,只可以包含OC对象,为了也能包含基本数据类型,则需要将基本数据类型转换成OC对象。关键类:NSNumber 和 NSValue,NSNumber 为NSValue的子类。基本数据类型转OC对象(NSNumber)1)@6; // int —> NSNumber 2)@6.45; // float —> NSNumber 3)@YES;
2014-04-12 15:17:56
1022
原创 Block 简单总结
Block 可以封装一段代码,然后可以把它作为一个函数或方法的形参,又可以作为一个函数或方法的返回值,它又可以当成一个函数或方法来执行,功能很强大。block(内联函数)从源代码层面来看,它有函数的结构,而在编译后,却不具备函数的性质。在它编译的时候,类型宏替换,使用函数体替换调用处的函数名。block 封装一段代码,可以在任何时候执行。block可以作为函数(或方法)的参数,
2014-04-12 15:13:51
788
原创 加载图片内存管理
// 拼接图片名称,%02d,表示目标整数用两位来显示,多余的部分用 0来代替.NSString *name = [NSStringstringWithFormat:@"%@_%02d.jpg", title, i]; // 用这一种方法加载图片,如果图片一多,内存占用很厉害,程序容易崩溃。// 而且它占用的内存无法释放// 如果这张图片在程
2014-04-12 15:06:54
901
原创 简单动画实现
第一种方法只需要将需要动画效果的代码放到动画代码之间。关于UIView 动画的其他属性,它主要包含在 UIView 的动画分类中。第二种简单动画实现方法例子:[UIView animateWithDuration:1.0animations:^{ // 要实现动画效果的代码 CGRect rowRect = ro
2014-04-12 15:02:21
761
原创 类扩展(class extension)
// 类扩展(class extension)// 在类扩展里面声明的成员变量,只可以自己的类访问,其他类无法访问// 相当于是 Java 中得 private@interface ContactViewController (){ int a;}@end
2014-04-12 14:54:35
1356
原创 UIScrollView 简单总结
1.常见属性2.捏合手势缩放1)缩放原理当用户尝试缩放 UIScrollView 的时候,UIScrollView 会尝试向它的 delegate (传入的代理对象)发送一条消息,询问要缩放哪个子控件。在这之前,那个代理对象对应的类需要先遵守 UIScrollViewDelegate协议,这样代理就知道该协议中包含的方法,然就在代理中实现协议中得某个方法来满足需
2014-04-12 14:48:09
902
原创 storyboard 和 xib
1.区别(storyboard 是在 IOS 5.0 后才有的)storyboard:描述软件界面,大范围,重量级,比较合适描述整个软件的所有界面xib:描述软件界面,小范围,轻量级,比较适合描述软件中得某个小界面(局部界面),例如几个组件的组合体。2.相同点:他们本质都是通过解析 xml 文件来一个个创建相应的视图组件,跟 Android 中的layout文件类似。3.
2014-04-12 14:46:07
1228
原创 UITableView 简单总结
在UITableView 初始化的时候,可以选择要显示什么样式的表格,它的 style 参数是个枚举类型,可以自行选择要显示的样式。Group型是分组显示,Plain是一般列表型。1. 数据展示的条件UITableView 的所有数据都是由数据源(dataSource)来提供,所以要想再UITableView中展示数据,必须先设置UITableView 的dataSource数
2014-04-12 14:42:15
729
原创 UIAlertView 的简单总结
UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"提示"message:selectTitle delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];alert.alertViewStyle = UIAlertViewStylePl
2014-04-12 14:38:31
753
原创 Mac 上连接真机调试android应用
在Mac系统中,谷歌官方里说,是不支持连接真机调试应用的,usb驱动不兼容。一次偶然的机会,我发现其实Mac系统也是支持的。1.首先下载一个叫“魔方手机助手”的软件,它是Mac系统下的Android手机助手。2.运行魔方手机助手,并连接手机。3.此时用Eclipse运行应用的时候,弹出的设备选项中,就有了你的android手机了,然后选择运行即可
2014-03-20 22:46:27
1438
原创 控制Button字体颜色变化
1.先在values文件夹中新建一个xml文件。 如: #6c6c6c #ffffff2.然后在drawable文件夹中新建一个selector资源的xml文件。 如: <item android:state_pressed="true" android:color="@drawable/draw
2013-11-15 14:43:14
2367
原创 EditText 控制文本显示位置
在 EditText 中添加 android:gravity="left" 属性,然后通过paddingTop、paddingLeft等padding属性来控制里面的文本位置。如: <EditText android:layout_width="match_parent" android:layout_height="150dp"
2013-11-15 14:30:43
4080
原创 Git 笔记——基本命令
1.git add --all2.git commit3.git branch (分支名)4.git checkout (分支名) 5.gti remote (pull,上传)
2013-11-15 14:24:26
745
原创 《代码整洁之道》第2章笔记——有意义的命名
在一个程序中,有意义的变量、函数或者类的命名有意义,能够顾名思义,非常重要。如果名称需要注释来补充,那就不算是名副其实。对以上代码段的变量进行重新命名后得到以下代码段。 注意,以上的代码简洁性并未被触及,里边的运算符和常量的数量全然不变,只是修改了变量的名称,但代码变得明确多了。 避免误导:程序员必须避免
2013-11-15 14:07:05
1078
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人