- 浏览: 2534125 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
jsntghf:
peio 写道这个怎么运行?Ruby On Rails的环境搭 ...
多文件上传之uploadify -
peio:
这个怎么运行?
多文件上传之uploadify -
往事如烟1:
我的项目是自己init了一个原始的project,之后将ver ...
React Native热部署之CodePush -
jsntghf:
往事如烟1 写道我按照你的说明进行,发现app退出之后,在进入 ...
React Native热部署之CodePush -
往事如烟1:
我按照你的说明进行,发现app退出之后,在进入不正确,请问是什 ...
React Native热部署之CodePush
ZKRevealingTableViewController.h
#import <UIKit/UIKit.h> #import "ZKRevealingTableViewCell.h" @interface ZKRevealingTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource, ZKRevealingTableViewCellDelegate> @property (nonatomic, retain) ZKRevealingTableViewCell *currentlyRevealedCell; @end
ZKRevealingTableViewController.m
#import "ZKRevealingTableViewController.h" #import <QuartzCore/QuartzCore.h> @interface ZKRevealingTableViewController () { ZKRevealingTableViewCell *_currentlyRevealedCell; } @property (nonatomic, retain) NSArray *objects; @end @implementation ZKRevealingTableViewController @synthesize objects; @dynamic currentlyRevealedCell; - (void)viewDidLoad { [super viewDidLoad]; self.objects = [NSArray arrayWithObjects:@"Right", @"Left", @"Both", @"None", nil]; self.tableView = (UITableView *)self.view; self.tableView.rowHeight = 52.0f; self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; } #pragma mark - Accessors - (ZKRevealingTableViewCell *)currentlyRevealedCell { return _currentlyRevealedCell; } - (void)setCurrentlyRevealedCell:(ZKRevealingTableViewCell *)currentlyRevealedCell { if (_currentlyRevealedCell == currentlyRevealedCell) return; [_currentlyRevealedCell setRevealing:NO]; if (_currentlyRevealedCell) [_currentlyRevealedCell autorelease]; [self willChangeValueForKey:@"currentlyRevealedCell"]; _currentlyRevealedCell = [currentlyRevealedCell retain]; [self didChangeValueForKey:@"currentlyRevealedCell"]; } #pragma mark - ZKRevealingTableViewCellDelegate - (BOOL)cellShouldReveal:(ZKRevealingTableViewCell *)cell { return YES; } - (void)cellDidReveal:(ZKRevealingTableViewCell *)cell { self.currentlyRevealedCell = cell; } - (void)cellDidBeginPan:(ZKRevealingTableViewCell *)cell { if (cell != self.currentlyRevealedCell) self.currentlyRevealedCell = nil; } #pragma mark - UIScrollViewDelegate - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { self.currentlyRevealedCell = nil; } #pragma mark - UITableViewDataSource - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 2; } - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { return (section == 0) ? @"Bounce" : @"No Bounce"; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.objects.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { ZKRevealingTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"]; if (!cell) { cell = [[[ZKRevealingTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"] autorelease]; cell.delegate = self; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.backView.backgroundColor = [UIColor scrollViewTexturedBackgroundColor]; } cell.textLabel.text = [self.objects objectAtIndex:indexPath.row]; cell.direction = (ZKRevealingTableViewCellDirection)indexPath.row; cell.shouldBounce = (BOOL)!indexPath.section; return cell; } - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger row = [indexPath row]; if (row % 2 == 0) { cell.backgroundColor = [UIColor whiteColor]; } else { cell.backgroundColor = [UIColor colorWithRed:0.892 green:0.893 blue:0.892 alpha:1.0]; } cell.contentView.backgroundColor = cell.backgroundColor; } @end
效果图:
- ZKRevealingTableViewCell.zip (141 KB)
- 下载次数: 70
发表评论
-
Error watching file for changes: EMFILE
2016-12-15 11:57 1302执行npm start后报错: Error watc ... -
CocoaPods升级1.1.1报错
2016-12-15 08:39 795ERROR: While executing gem .. ... -
Visual Studio Code运行React Native报错
2016-06-13 09:43 1614React Native:0.27.2 React:15 ... -
React Native 0.27.2编译报错this._nativeModule.addListener is not a function
2016-06-12 15:21 3858React Native:0.27.2 React:15 ... -
Unable to resolve module ReactDefaultPerf from
2016-06-02 13:04 2787package.json信息如下: "reac ... -
React Native 0.26.2编译报错Undefined symbols for architecture x86_64
2016-05-26 11:15 2020React Native:0.26.2 React:15. ... -
Failed to update auto layout status: Failed to load designables from path (null)
2016-04-05 22:11 1715确保CocoaPods是0.36.1以上版本,然后在podf ... -
集成微信支付出现Undefined symbols for architecture x86_64错误
2016-03-21 13:22 1751Undefined symbols for architec ... -
React Native热部署之CodePush
2016-01-10 22:27 6247本文使用的环境是Mac OS 10.11.1、Xcode ... -
浅谈React Native中的FlexBox布局
2015-11-17 18:38 4307React Native通过一个基于FlexBox的布局引 ... -
React Native之构建一个简单的列表页
2015-10-23 14:45 2166本文中我们将创建一个简单的电影应用,这个应用将从Rotten ... -
React Native之环境搭建
2015-10-20 16:30 1447本文使用的环境是Mac O ... -
获取图片属性的方法
2015-10-18 20:43 3145很多时候我们需要获 ... -
NSCache的下标用法
2015-09-18 00:19 1216NSCache类和NSDictionary类很相似,也提供 ... -
如何给category添加属性
2015-08-16 10:41 693主要是使用了runtime中的associative机制。 ... -
UITableView的两种重用Cell方法的区别
2015-08-10 13:07 16149UITableView中有两种重用Cell的方法: - ... -
SDImageCache.m报错Unused variable 'fileName'
2015-08-04 21:56 1175GCC手册中的相关解释: unused:This att ... -
Swift调用Objective-C
2015-07-13 23:33 1228Swift调用Objective-C需要一个名为<工程 ... -
使用GCD实现倒计时
2015-07-24 21:47 1085__block int timeout = 60; // ... -
导航栏加分割线的实现
2015-07-01 22:00 1763self.view.backgroundColor = [U ...
相关推荐
然后,为了实现左右滑动的效果,我们可以利用UITableViewCell的子视图,如添加两个隐藏的UIButton,分别代表左滑和右滑的按钮。这些按钮在用户滑动时会显示出来。关键在于监听滑动手势,这可以通过手势识别器...
在iOS开发中,`UITableViewCell` 是用于...通过以上步骤,你就可以在你的iOS应用中实现 `UITableViewCell` 的左右滑动删除功能,提升用户界面的交互性和可用性。在实际开发中,可以根据项目需求进行适当的定制和扩展。
1. 创建UITableViewCell子类:通过继承UITableViewCell,我们可以添加自定义的UI元素,如UILabel、UIImageView、UIButton等,并在子类中重写layoutSubviews方法来布局这些元素。 2. 注册Cell:在UITableView的...
通过分析和学习这个Demo,开发者不仅可以掌握自定义UITableViewCell的方法,还能了解到如何将理论知识应用于实际项目,这对于毕业设计和论文写作是非常有价值的。同时,这样的实践也有助于提升问题解决和代码组织的...
通过继承或组合这些动画,我们可以为`UITableViewCell`添加独特的视觉表现。例如,当用户滚动到某个特定的cell时,可以触发一个炫酷的展开或折叠动画,以突出显示重要的信息。 为了使用`MXAnimationCell`库,首先...
5. **自定义行为**:如果需要,还可以扩展`UITableViewCell`的子类,添加自定义的行为和逻辑。例如,可以添加计算或验证方法,或者实现特定的动画效果。 关于InAppSettingsKit,这是一个开源库,用于在应用内部管理...
通过以上步骤,我们可以实现动态计算UITableViewCell的高度,使UITableView更好地适应各种内容。在实际项目中,可能还需要结合具体业务需求进行调整,比如处理图片加载、异步计算等复杂情况。阅读博文([链接]...
这个`UIImageView`可以通过代码创建或者在Storyboard中拖拽添加。确保为`UIImageView`设置合适的约束以适应不同屏幕尺寸。 ```swift class CustomTableViewCell: UITableViewCell { @IBOutlet weak var imageView:...
7. 布局扩展:如果原始的UITableViewCell样式仍无法满足需求,可以考虑使用UIStackView或者自定义UIComponent来增强布局能力,但仍应尽量利用现有系统组件的自适应特性,避免过度自定义。 通过以上方法,我们可以在...
6. **自定义单元格**:如果需要自定义单元格,可以创建一个新的UITableViewCell子类,或者使用XIB/NIB文件定义界面布局。别忘了在注册时使用这个子类或NIB。 7. **多类型单元格**:对于包含多种类型的表格,可以...
通过以上步骤,我们可以实现UITableViewCell根据内容自动调整高度的功能。这不仅可以优化用户体验,还能避免手动计算高度带来的麻烦。在实际开发中,还要注意性能优化,如合理设置`estimatedRowHeight`以平衡滚动...
我们可以为UITableViewCell添加一个扩展,包含一个BOOL变量来跟踪cell的状态(展开或折叠),并实现`touchesBegan(_:with:)`和`touchesEnded(_:with:)`方法。当用户点击cell时,切换该状态,并调用UITableView的`...
2. **UITableViewCell的创建与重用**: 单元格可以通过重用标识符在屏幕外预先创建,以提高性能。通过`dequeueReusableCell(withIdentifier:)`方法获取或创建单元格,避免每次都新建导致性能下降。 3. **数据源方法*...
`UITableViewCell` 是`UITableView`中的基本单元,每个单元格可以显示一行数据。在设计用户界面时,为了提供良好的用户体验,我们希望`UITableViewCell`的高度能够根据内容自动调整,这就是所谓的`UITableViewCell`...
然而,如果不对UITableViewCell的滚动性能进行优化,可能会导致滚动卡顿,影响用户体验。本Demo“优化UITableViewCell滚动性能”正是针对这一问题进行探讨和实践。 首先,我们来了解为什么UITableViewCell滚动会变...
在Xcode的Interface Builder中,可以通过Storyboard来设计和定制UITableViewCell。首先,选择UITableView,然后在属性检查器中设置cell的Identifier。接着,可以直接在Table View Cell上添加所需的UI元素,如...
在Interface Builder中,你可以拖拽并设置所需的UI控件,然后将它们连接到你的CustomTableViewCell类中的IBOutlet属性。 2. 如果使用纯代码设计,你需要在`layoutSubviews`方法中设置子视图的位置和大小。 步骤三:...
在iOS8中,苹果引入了一项新特性,使得UITableViewCell的内容可以自动调整大小,这一特性被称为“Self Sizing Cells”。这一功能极大地简化了开发者在处理不同内容长度时的布局工作,提高了用户体验。 首先,我们要...
通过以上步骤,你可以创建一个能够根据内容动态调整高度的UITableViewCell。这种设计模式在处理新闻、微博、评论等信息流场景中非常常见,使得界面更具有可读性和美观性。在实际开发中,还需要根据具体需求进行调整...
确保所有的内容视图都与其父视图有顶部、底部、左右边距约束,这样它们就能根据内容自动扩展。 3. **启用estimatedRowHeight和rowHeight**: 在UITableView上设置`estimatedRowHeight`和`rowHeight`属性。`...