到今天,应该是正式学习UIKit刚好一星期了。
首先放上一点零散的笔记;
1、在程序里面有一些类似与这个的语句:
if((self = [super init])){........},花括号内往往是创建实例的语句。这种先判断后创建的形式,对于内存管理有着不可忽视的意义,对于一些经常调用的对象,可以做到需要调用时再创建,不需要使用时ARC自动释放,特对于一些画面较多的应用尤为重要。这也考虑到用户的习惯,优化用户体验。(借鉴师兄的话····)
2、在使用NavigationController时,在AppDelegate.m文件里面常见这种用法:
ClassNamed *ObjectNamed =[[ClassNamed alloc] init ];
UINavigatetionController *NavigatetionControllerNamed = [ [ UINavigatetionController alloc ] initWithRootViewController :ObjectNamed ];
上述代码实现了把一个子元素添加到导航条视图中,这时要想toolBar可见还需要更改toolBarHidden属性为NO。如果子元素里面还包含有动作的实现,(比如说滑动页面切换和按钮响应),则要考虑子元素的生存期问题,一般在代理文件的头文件中进行声明:
@ClassNamed
@Interface..............{
ClassedNamed *ObjectNamed;
............}
在UIViewController类里面可以通过setToolbarItems: animated : 方法简单地添加工具条,在其他的视图中则要具体分析,这里我也不懂呢~
3、关于在工具条添加系统按钮。使用UIViewController的setToolbarItems 方法追加按钮时,得到的按钮都是默认向左靠齐,这样并不美观,我们可以追加间距对象UIBarButtonSystemItemFlexibleSpace来实现按钮间距的自动调整:
首先创建若干个按钮,barButton1、barButton2、barButton3、spacer,创建的语句参照:
UIBarButtonItem *barButton =
[ [ UIBarButtonItem alloc ] initWithBarButtonSystemItem : systemItem
target : nil
action : nil ] ];
然后创建数组items,以任意的组合排列按钮:
NSArray * items = [NSArray arraywithObjects : barButton,spacer,barButton,spacer,barButton,nil ];
接着添加到工具条:
[ self setToolbarItems : items ];