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。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章