ios 开发小记 (二)

identity inspector 的key path 可以用来做圆角按钮和边框。

layer.cornerRadius number  圆角按钮

使用代理模式的时候,要注意,A 和 B的引用之间会循环引用,导致内存无法回收。 可以使引用设置为weak。

navigationBar 默认是透明的,颜色会进行高斯模糊处理。所以直接用RGB颜色赋值,最后的颜色效果会稍微淡一些。

解决方案:最开始的navigationBar设置为opaque。

ios3.0 以后 苹果的sdk对这种情况做了调整,如果是post请求,并且设置了 httpBody,那么请求的超时时间就被默认设置为 240 秒了。就算你再使用[urlRequest setTimeoutInterval:10];也是无效的,我们可以再设置完成后再读取这个值,发现它不会变成10,依然保持240秒。

presentViewController 和  UINavigationController的区别:

presentViewController 一般用于一个viewcontroller

同时,dismiss会让所有的presents的view全部消失。(go back,不方便)

UINavigationController 更灵活,可以push,然后pop。

UITableViewCell 的高度动态生成,

return cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height + 1 。

这个systemLayoutSizeFittingSize 可以用来测试高度。(先填入数据,初始化完后, 调用这个接口返回相应高度)

其他线程如何操作(更新)UI。

[self performSelectorOnMainThread:@selector(updateUI:) withObject:image waitUntilDone:YES];

performSelectorOnMainThread是NSObject的方法,除了可以更新主线程的数据外,还可以更新其他线程的比如: 

用:performSelector:onThread:withObject:waitUntilDone:

layout有三种方式:Manual layout,Autoresizing,Autolayout。我们常用的可能就后面两种。

假设v1是一个不使用autolayout的view,而v2是一个使用autolayout的view,但v1成为v2的subview时,

v2需要四条隐含的constraint来确定v1的位置,这些约束都是从v1的frame转化而来:

This conversion is performed only if the view in question has its translates-

AutoresizingMaskIntoConstraints property set to YES. That is, in fact, the default if

the view came into existence either in code or by instantiation from a nib where “Use

Auto Layout” is not checked. The assumption is that if a view came into existence in

either of those ways, you want its frame and autoresizingMask to act as its constraints

if it becomes involved in autolayout.

能不能在destination controller 中调用prepareForSegue 来回传数据?

不能。

因为:prepareForSegue只有当将一个controller放到堆栈上面的时候可以使用,如果将一个controller从堆栈上面移除,是无法使用的,具有单向性。

self.navigationController popToRootViewControllerAnimated:YES]

UIViewController *prevVC = [self.navigationController.viewControllers objectAtIndex:<n>];
[self.navigationController popToViewController:prevVC animated:YES];

[self.navigationController popViewControllerAnimated:YES];

移出孩子的操作

If you are implementing your own container view controller, it must call the willMoveToParentViewController: method of the child view controller before calling the removeFromParentViewController method...

Thus, as discussed in Adding and Removing a Child section of the View Controller Programming Guide, when removing a child, we should:

[childVC willMoveToParentViewController:nil];
[childVC.view removeFromSuperview];

[childVC removeFromParentViewController];

时间: 2024-12-16 03:02:31

ios 开发小记 (二)的相关文章

IOS开发小记

1. 在view之间添加分割线的注意 第一种情况没有什么特别的,view之前是独立的,没有位置重合的情况. 第二中有重合区域,这里要注意的是,在iPad下如果分割线的宽度设置小于1,会出现显示在view进去视图的时,闪现一下,然后不可见. IOS开发小记,布布扣,bubuko.com

零基础学习IOS开发(二)- 使用cocos2d-x3.0 执行Hello world

关于开发框架,依据网上检索来的信息,感觉cocos2d-x的ios游戏开发框架非常不错,并且有非常强的可移植性,因此打算尝试一下. 截止写下此文章,最新的cocos2d-x的版本号为v3.0稳定版(几天前刚刚公布),下载地址为:http://www.cocos2d-x.org/filedown/cocos2d-x-3.0-cn 安装方式例如以下: 1.解压程序压缩包(所在路径不能有中文哦,由于是python,你懂的...) 2.sudo python setup.py 安装cocos2d-x,依

学iOS开发(二)——实现一款App之编写自定义类

今天学iOS开发(二)--实现一款App之编写自定义类 当开发iOS应用程序时,你会发现在许多场景下,你需要编写自己的自定义类.当你需要数据和自定义行为一起打包时,自定义类就很有用了.在一个自定义的类中,你可以为存储.操纵和显示数据定义你自己的行为. 例如,考虑iOS Clock app中的全球时钟标签(World Clock tab).这个表视图中的单元格需要显示比标准表视图单元格更多的内容.这是一个不错的机会实现一个扩展UITableViewCell行为的子类,从而在给定的表视图单元格中显示

从零开始学ios开发(二):Hello World!

今天看了书的第二章,主要介绍了一下Xcode的使用方法和一些必要的说明,最后做了一个“Hello World!”的小程序,其实就是在屏幕上用一个Label显示“Hello World!”,一行代码都没有写,拖拖控件,改变一下Label字体大小颜色什么的,还是比较简单的,下面把这个过程写一下,至于xcode的使用说明就不在这里具体叙述了,反正到时候用到哪就介绍到哪里吧. 1)启动Xcode 选择“Create a new Xcode project”,创建一个新的项目. 2)模板选择,选择“Sin

iOS 开发小记 (九)

1,GCD的Concurrent.Serial queues Concurrent queues (also known as a type of global dispatch queue) execute one or more tasks concurrently, but tasks are still started in the order in which they were added to the queue. The currently executing tasks run

iOS 开发小记 (十)

2016年02月22日 - 元宵节 今日面试,有三个题目让我不太确定: 1,oc的协议和java的接口有何不同? oc的@protocol 有 @required 和 @optional. 2,UIView 和 CALayer有何区别? a.UIView可以响应事件,CALayer不行: b.UIView是对显示内容的管理,CALayer是对显示内容的绘制: c.每个UIView内都有一个CALayer提供内容的绘制和显示,view.frame简单的返回了view.layer.frame. ht

iOS 开发小记 (八)

过完年,整理下最近遇到的问题. 1,通过runtime动态添加Ivar 优点:动态添加Ivar我们能够通过遍历Ivar得到我们所添加的属性. 缺点:不能在已存在的class中添加Ivar,必须通过objc_allocateClassPair动态创建一个class,才能调用class_addIvar创建Ivar,最后通过objc_registerClassPair注册class. 参考 如何添加 http://blog.csdn.net/majiakun1/article/details/3851

ios 开发小记 (三)

platform :ios, '7.0' pod "AFNetworking", "~> 2.0" pods 文件原来是这样. 在用了xctest之后,就报错了:AFNetworking Cause Error while using XCTest in Xcode5. 要在中间加一句: link_with 'Supermark', 'SupermarkTests' -objc 的意思: 之所以使用该标志,和Objective-C的一个重要特性:类别(cate

iOS开发-二维码

二维码 从ios7开始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤: 倒入CoreImage框架 通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码职能放数字) 纯文本 名片 URL 二维码的生成 // 1.创建过滤器 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2.恢复默认 [filter setDefaults]; //