For a detached nib file, the actual loading of the nib file occurs automatically when the view property of the view controller object is accessed and the view is not currently in memory. The defaultloadView method uses the nibName and nibBundle properties to locate the desired nib file and load its contents into memory.

 

UIScrollView的相关概念

首先介绍下UIScrollView的相关概念

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,-480),也就是y偏移了- 480(注意向下拉,偏移是负数,向上才是正数,这个我测试过的)
contentInset是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示

(以上引用来自http://www.cnblogs.com/try2do-neo/archive/2011/10/13/2210532.html) 

概念说完了,看下面的用处
1.键盘遮挡。
有些输入框在View最下面,键盘调出来的时候,需要将输入框调整到可见区。如果View里控件少,那么直接修改frame就能实现,自己加点动画,效果可还不错。
但是如果控件很多,那么一个一个控件都修改frame太繁琐。如果将这些控件放到一个UIScrollView里,那么修改UIScrollView里的ContentOffSet的值。
比如默认情况下,ContentOffSet(0,0),键盘输入的时候,设置ScrollView的偏移为(0,150)(整个画面向上移动150的像素)等输入完成的时候再设置ScrollView为(0,0)
 
2.View 支持滚动
让整个View支持上下滚动。通过xib设置的View不支持Scroll,使用起来不同上线滚动。用户体验不太好。为了让普通的View也支持Scroll有2种办法
 1。将这个View放在TableView里.
 2。 在View里添加一个ScrollView,将所有其它的控件全放在这个ScrollView里。放在View里有个技巧。需要设置contentSize,比如你的View大小是(320,480),那么ScrollView的大小需要设置为(320,481),多一个像素出来,让其支持滚动,还是很好的。
 
  1.  关键字const并不能把变量变成常量!在一个符号前面加上const限定符姿势标识这个符号不能被赋值.也就是说它的直对于这个符号来说是只读的,但是它不能防止通过程序的内部(甚至是外部)的方法来修改这个直.也就是说这个符号指向的内存区域的直,是可以被别的变量改变的.const最有用之处就是用它来限定函数的形参,这样该函数将不会修改实参指针所指的数据,但其他的函数去可能会修改他.

 

原文地址:https://www.cnblogs.com/woainilsr/p/2368832.html