0917 Cell分组 静态Cell xib创建页面 自定义控件

箭头、标识、创建类与其关联
控制第一部分有3行,
第二部分10行。

选中TV

右侧属性 设置“Style”为
“group”,它默认为“Plain”。


Separater设置:
默认是有线分割。
可以给线加颜色。
在TV中显示一些内容。
情况1:

TableHeaderView 会随着滚动。
如果上面要求不动显示 是个ViewController。
先拖拽1个VIEW 在控件框的下方。


上中下三位置
header
cell
footer

使用到了TextView.

@property  ( weak ,  nonatomic )  IBOutlet  UITextView  *myTextView;

@end

@implementation  TableViewController

- ( void )viewDidLoad {
    [ super  viewDidLoad ];
     self . myTextView . text  =  @" 个人简介 " ;
}



静态Cell

选中Table View
设置Section
很难选到,一般点击一下“Root View Controller”

应用场景:页面一成不变。界面不会改变。
如果是静态Cell
需要把创建TableViewController时生成的模板代码,
两个 协议方法 “分区个数” 、“行数” 代码 注释掉。


Cell不够,就往里拖:

Accessory Type:
选中该行 

1、静态Cell 在Tableview中可以上下拖动
2、当你未设置静态Cell“分区”,默认一个分区。在一个分区内做好设置后。修改分区个数,将创建多个和第一个设置一样的 Cell个数相同的分区。

Xib。
目前学习过的创建页面的方式有:
1、通过类创建
2、通过Storyboard拖拽
现在再学习一种,通过XIB生成页面。

在SB之前,是纯代码+XIB。
一个页面对应一个XIB。
后来SB出现,XIB整合到了SB中。

SB连线方式使得 页面关系清晰。

大项目,几个人一起开发,用SB麻烦:
需要同时访问同一个文件。
一般都是纯代码,或纯代码+Xib。

1、纯代码。
2、Xib。
正确的方式是,适合用什么你就用什么。
Xib和SB都是拖拽。

动态偏多,界面变化较多,不是一成不变。用代码控制。

静态,改变少。用拖拽。



SB删。
Main.interface 中的Main  去掉。

在AppDelegate.m中创建window
- ( BOOL )application:( UIApplication  *)application didFinishLaunchingWithOptions:( NSDictionary  *)launchOptions {

     self . window  = [[ UIWindow  alloc ] initWithFrame :[ UIScreen  mainScreen ]. bounds ];
   
     ViewController  *vc = [[ ViewController  alloc ] initWithNibName : @"ViewController"  bundle : nil ];
   
     self . window . rootViewController  = vc;
    [ self . window  makeKeyAndVisible ];

     // Override point for customization after application launch.
     return  YES ;
}
第一个页面是ViewController,直接把它的XIB当做Storyboard来用。
关联什么的都是一样的,一样跳转到TableViewController。
创建类的时候,勾选生成XIB文件。
#import  "AppDelegate.h"
#import
  "TableViewController.h"
@interface  AppDelegate  ()

@end

@implementation  AppDelegate


- (
BOOL )application:( UIApplication  *)application didFinishLaunchingWithOptions:( NSDictionary  *)launchOptions {

   
  self . window  = [[ UIWindow  alloc ] initWithFrame :[ UIScreen  mainScreen ]. bounds ];
   
  TableViewController  *vc = [[ TableViewController  alloc ] initWithNibName : @"TableViewController"  bundle : nil ];
   
   
  self . window . rootViewController  = vc;
    [
self . window  makeKeyAndVisible ];
   
   
  return  YES ;
}
XIB编译完之后变长NIB,所以写的NibName。
一般XIB的名字和其类名是一样。
必须一致。



删除文件时:

中间是引用删除,不删除源文件。
第三个 删除源文件。


XIB可以创建页面,也可创建控件。
自定义控件。

如之前的地鼠类。

1、改动现有控件。
继承现有的控件,再修改它的功能。

2、自己根据需求
一个控件是其他几个控件的功能的组合。

3、控件组合出来,需要容器UiView。 继承 UiView。
XIB表示“页面”才让勾选。

老师笔记:
1、通过纯代码自定义控件
2、通过纯代码+XIB自定义控件。

命名和UIView控件名一样。

XIB拖拽一个VIEW
改大小:
去掉状态栏 “电池”

菊花,改大小,
上来就旋转:

改View背景颜色
改Lable字体颜色白
,xib文件关联类代码。因为控件中的内容可能涉及到修改,所以关联到类。
自定义控件内容(如Label)不允许直接关联到.m中,要求关联到.h中。
自定义控件关联到代码 的.h中。

在ViewController中创建。
1、

XIB可以自定义多个控件。
多个控件并列关系。
创建的时候的返回值就是 一个数组。

- ( void )viewDidLoad {
    [
super  viewDidLoad ];
   
  LoadingView  *lv = [[[ NSBundle  mainBundle ] loadNibNamed : @"LoadingView"  owner : self  options : nil ] lastObject ];
    lv.
center  =  self . view . center ;
    [
self . view  addSubview :lv];

}  

改Frame。

第三方框架:不是自己的,不是苹果的。

你可能感兴趣的:(iOS)