生活随笔
收集整理的這篇文章主要介紹了
UItableViewCell滑动删除时,调整cell子视图的位置大小
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
UItableViewCell滑動刪除時,調(diào)整cell的位置大小是否顯示等。
CustomTableViewCell為UITableViewCell的子類,在實(shí)現(xiàn)文件中重寫willTransitionToState方法。
willTransitionToState是在cell改變顯示狀態(tài)的時候調(diào)用,有三種狀態(tài):
typedef NS_OPTIONS(NSUInteger, UITableViewCellStateMask) {
UITableViewCellStateDefaultMask = 0, //普通狀態(tài)
UITableViewCellStateShowingEditControlMask = 1 << 0, //編輯狀態(tài)
UITableViewCellStateShowingDeleteConfirmationMask = 1 << 1 //刪除狀態(tài)
};
具體實(shí)現(xiàn)方法:
- (void) willTransitionToState:(UITableViewCellStateMask)state{[super willTransitionToState:state];//UITableViewCellStateShowingDeleteConfirmationMaskif ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) {for (UIView *subview in self.subviews) {if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {//this is delete button}if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellContentView"]) {//this is contentViewfor (UIView *sub in subview.subviews) {if ([NSStringFromClass([sub class]) isEqualToString:@"UILabel"]) {UILabel *subLabel = (UILabel *)sub;if (subLabel.tag == 8) {subLabel.hidden = YES;}}if ([NSStringFromClass([sub class]) isEqualToString:@"UIImageView"]) {UILabel *subImageView = (UILabel *)sub;if (subImageView.tag == 11) {subImageView.hidden = YES;}}}}}}//UITableViewCellStateDefaultMaskif ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateDefaultMask){for (UIView *subview in self.subviews) {if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {//this is delete button}if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellContentView"]) {//this is contentViewfor (UIView *sub in subview.subviews) {if ([NSStringFromClass([sub class]) isEqualToString:@"UILabel"]) {UILabel *subLabel = (UILabel *)sub;if (subLabel.tag == 8) {subLabel.hidden = NO;}}if ([NSStringFromClass([sub class]) isEqualToString:@"UIImageView"]) {UILabel *subImageView = (UILabel *)sub;if (subImageView.tag == 11) {subImageView.hidden = NO;}}}}}}
}
轉(zhuǎn)載于:https://www.cnblogs.com/nanoCramer/p/3140255.html
總結(jié)
以上是生活随笔為你收集整理的UItableViewCell滑动删除时,调整cell子视图的位置大小的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。