开发者

UITableViewCell with 2 accessory types

开发者 https://www.devze.com 2023-03-12 08:05 出处:网络
I would like to make a UITableViewCell with one label and two accessory types: Unselected cells should display a UITableViewCellAccessoryDetailDisclosureButton accessory.

I would like to make a UITableViewCell with one label and two accessory types:

  • Unselected cells should display a UITableViewCellAccessoryDetailDisclosureButton accessory.
  • The selected cell should display both the UITableViewCellAccessoryDisclosureIndicator and th开发者_StackOverflowe UITableViewCellAccessoryDetailDisclosureButton accessories.

The only way I know how to do this is by using an image for the selected cell's accessory view. Is there an alternative way to do this?


Make a custom UITableViewCell (numerous tutorials and examples online and also in the documentation).


In your

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

    selectedIndex = indexPath //selectedIndex is a property

}

Then in

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//usual cell stuff

    if(indexPath == selectedIndex) 
        [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
    else
        [cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];


}

So the trick is just to keep a reference to the selected cell and set the indicator accordingly.

Note that you might want to test if the cell is already selected before setting the selectedIndex, in that case you should set selectedIndex = nil.

0

精彩评论

暂无评论...
验证码 换一张
取 消