UITableView屬性和方法

一、初始化一個UITableView數組

1 - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
1 struct CGRect {
2    CGPoint origin;
3    CGSize size;
4 };
5 typedef struct CGRect CGRect;
1 typedef enum {
2    UITableViewStylePlain, //平鋪樣式
3    UITableViewStyleGrouped //分組樣式
4 } UITableViewStyle;

 

二、配置一個TableViewide

1)返回這個TableView的樣式(只讀屬性)性能

1 @property(nonatomic, readonly) UITableViewStyle style

 

2)返回指定section內的Cell的行數 atom

1 - (NSInteger)numberOfRowsInSection:(NSInteger)section

 

 當TableView在UITableViewStylePlain下section應該爲0spa

3)返回TableView的section數量代理

1 - (NSInteger)numberOfSections

 

4)設置TableView中全部cell的高度code

1 @property(nonatomic) CGFloat rowHeight

 

Apple建議咱們使用代理方法tableView:heightForRowAtIndexPath:代替rowHeight方法使TableView的性能更高對象

5)設置TableView的分隔線的樣式blog

1 @property(nonatomic) UITableViewCellSeparatorStyle separatorStyle
1 typedef enum : NSInteger {
2    UITableViewCellSeparatorStyleNone, //無分隔線
3    UITableViewCellSeparatorStyleSingleLine, //單分割線
4    UITableViewCellSeparatorStyleSingleLineEtched //被侵蝕的但分隔線
5 } UITableViewCellSeparatorStyle;

 

6)設置TableView的分隔線顏色it

1 @property(nonatomic, retain) UIColor *separatorColor

 

7)設置TableView的背景視圖

1 @property(nonatomic, readwrite, retain) UIView *backgroundView

 

8)設置TableView的分隔線偏移量

1 @property (nonatomic) UIEdgeInsets separatorInset
2 //Available in iOS 7.0 and later.

 

Apple的例子

1 tableView.separatorInset = UIEdgeInsetsMake(0, 3, 0, 11);
2 //上、左、下、右

 


 

三、建立TableView的Cell

1)註冊一個包含指定標示符TableView的Cell的nib對象

1 - (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier //兩個參數不能是nil
2 //Available in iOS 5.0 and later.

 

2)註冊一個類用來建立新的Cell

1 - (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.

 

3)使用指定的標示符返回可重用的Cell

1 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath
2 //Available in iOS 6.0 and later.

 

Apple重要提示:使用這個方法以前必須是使用了registerNib:forCellReuseIdentifier: 或者registerClass:forCellReuseIdentifier:方法註冊了Cell

4)使用指定的標示符返回可重用的Cell

1 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier

 

四、訪問表頭和表尾的視圖

1)註冊一個包含表頭或表尾的指定標示符表視圖的nib對象

1 - (void)registerNib:(UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.

 

2)註冊一個類,用來建立新的包含表頭或表尾的表視圖

1 - (void)registerClass:(Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.

 

3)返回一個指定標識符的可重用的附帶表頭表尾的視圖

1 - (id)dequeueReusableHeaderFooterViewWithIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.

 

4)設置或返回該表格的表頭視圖

1 @property(nonatomic, retain) UIView *tableHeaderView

 

5)設置或返回該表格的表尾視圖

1 @property(nonatomic, retain) UIView *tableFooterView

 

6)設置或返回該表格的表頭高度

1 @property(nonatomic) CGFloat sectionHeaderHeight

 

7)設置或返回該表格的表尾高度

1 @property(nonatomic) CGFloat sectionFooterHeight

 

8)返回指定section的表頭視圖

1 - (UITableViewHeaderFooterView *)headerViewForSection:(NSInteger)section
2 //Available in iOS 6.0 and later.

 

9)返回指定section的表尾視圖

1 - (UITableViewHeaderFooterView *)footerViewForSection:(NSInteger)section
2 //Available in iOS 6.0 and later.

 


 

五、訪問Cell和Section

1)返回指定indexPath的Cell

1 - (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

 

2)返回指定Cell的IndexPath

1 - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell

 

3)返回指定點的IndexPath

1 - (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point

 

4)返回指定區域內的IndexPath組成的數組

1 - (NSArray *)indexPathsForRowsInRect:(CGRect)rect

 

5)返回可見的UITableViewCell組成的數組

1 - (NSArray *)visibleCells

 

6)返回可見表格行的IndexPath組成的數組

1 - (NSArray *)indexPathsForVisibleRows

 

六、估算元素的高度

1)設置表格行的估算高度以改善性能

1 @property (nonatomic) CGFloat estimatedRowHeight
2 //The default value is 0, which means there is no estimate.
3 //Available in iOS 7.0 and later.

 

2)設置Section頭的估算高度以改善性能

1 @property(nonatomic) CGFloat estimatedSectionHeaderHeight
2 //The default value is 0, which means there is no estimate.
3 //Available in iOS 7.0 and later.

 

3)設置Section尾的古都按高度以改善性能

1 @property(nonatomic) CGFloat estimatedSectionFooterHeight
2 //The default value is 0, which means there is no estimate.
3 //Available in iOS 7.0 and later.

 七、滾動TableView

1)滾動到指定的位置

1 - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
1 typedef enum {
2    UITableViewScrollPositionNone,
3    UITableViewScrollPositionTop,
4    UITableViewScrollPositionMiddle,
5    UITableViewScrollPositionBottom
6 } UITableViewScrollPosition;

 

 

 

To be Continue...

相關文章
相關標籤/搜索