1. 程式人生 > >ios cell常用屬性

ios cell常用屬性

詳解地址:

設定UITableViewCell的accessoryType

如果希望cell上面顯示一個淺灰色的箭頭,可以通過accessoryType來達到目的,程式碼如下,

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

這樣就設定了箭頭裝的type,我們可以設定多種型別,蘋果定義的列舉型別如下,

typedef NS_ENUM(NSInteger, UITableViewCellAccessoryType) {

    UITableViewCellAccessoryNone,                   //不顯示任何的accessoryView

    UITableViewCellAccessoryDisclosureIndicator,    //淺灰色箭頭圖示

    UITableViewCellAccessoryDetailDisclosureButton, //顯示詳情的按鈕

    UITableViewCellAccessoryCheckmark,              //就是你考試時候打鉤的鉤形狀

    UITableViewCellAccessoryDetailButton NS_ENUM_AVAILABLE_IOS(7_0) //

};

讀者可以逐個試一試,找到自己想要的效果。如果上面的效果都不讓人滿意,那隻能自定義cell,然後在cell上面放上UIImageView,並貼上自己設計的圖片了。

3、設定UITableViewCell的點選風格selectionStyle,

有的時候我們需要點選cell時候相應的cell背景加深的效果,有的時候我們不需要,這時候可以使用下面的語句來實現,

settingCell.selectionStyle = UITableViewCellSelectionStyleNone

檢視文件中的列舉型別如下,

typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {

    UITableViewCellSelectionStyleNone,

    UITableViewCellSelectionStyleBlue,

    UITableViewCellSelectionStyleGray,

    UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)

};

讀者可以逐個試一試,這裡只是拋磚引玉,不再贅述。

4、返回前一個頁面的時候,cell去除點選效果

當我們點選cell,push進入下一個頁面,然後再返回前一個頁面的時候,這時我們發現cell有背景加深的效果,如下圖所示,

想要去掉這種效果,只要在-(void)tableView...didSelect中新增如下程式碼,

#pragma mark - UITableViewDataSource method

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    //....

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

這樣在返回前一個頁面的時候,之前選中的cell就沒有背景加深的效果了,如下圖所示,