我知道这很简单,但我找不到简单的答案!我有一个常规的UITableView,我只是在自定义单元格中添加了一个文本视图。我不确定如何在cellForRowAtIndexPath中访问此textview。我试着把它变成一个iboutlet,但是当我进行单元格时它没有出现。??!?!?!?。也重新设置重用。有什么想法吗?
编辑:我也在ib中完成了所有连接
在.h文件中......
@property(nonatomic, strong) IBOutlet UITextView *myTextView;
在.m文件中......
@synthesize myTextView = _myTextView;
static NSString *CellIdentifier = @"all_table_reuse_identifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (nil == cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
NSLog(@"%s", __PRETTY_FUNCTION__);
}
问题是我应该可以做cell.myTextView,但它不存在
答案 0 :(得分:1)
例如
static NSString *cellIdentifier= @"Cell";
CustomCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell=[[[NSBundle mainBundle]loadNibNamed:@"CustomCell" owner:self options:nil]objectAtIndex:0];
}
cell.myTextView.text=@"your text";
答案 1 :(得分:0)
可能这就是你想要的。
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = @"Why so serious?";
return cell;
编辑:对于自定义单元格 在.h文件中
#import <UIKit/UIKit.h>
@interface TestCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UITextView *tv;
@end
在.m
#import "TestCell.h"
@implementation TestCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
-(void) setFrame:(CGRect)frame
{
float inset = 20.0f;
frame.origin.x += inset;
frame.size.width -= 2 * inset;
[super setFrame:frame];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
}
@end
在CellForRowAtIndexPath
中TestCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[TestCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.tv.text = @"This is textview";
return cell;
希望这有助于......:)
答案 2 :(得分:0)
这样做,
YourCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[YourCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell. myTextView.text = @"My TextView";
return cell;