2013-03-25 63 views
0

我有一个UITableView有两个自定义单元格。我已经为每个单元分类了UITableViewCell。在这两个中,我有一个可以滚动的UITextView。我希望用户能够点击顶部栏滚动到顶部。我知道我需要关闭文字视图的滚动顶部。但我不知道在哪里放置它。我已经尝试过这样的自定义单元格。哪里可以放置setScrollsToTop自定义单元格

#import "MessageCell.h" 

@implementation MessageCell 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
self = [super initWithStyle:style reuseIdentifier:@"MessageCell"]; 
if (self) { 
    // Initialization code 

    [_messageText setScrollsToTop:NO]; 

} 
return self; 
} 

@end 

但那没有奏效。有没有人有任何想法?我无法弄清楚还有什么地方可以说。我在实际的tableview vc中尝试过,但它不能识别我的属性。预先感谢任何和所有帮助!

以下是我的回应。我在cellForRowAtIndexPath中调用了一个名为FaceBookCell的单元。这个单元格包含一个UIImageView。我把它分成消息单元和光电单元。他们都需要UIImageView,但消息单元在UITextView中显示消息,而Photocell在UITextView中显示消息,在另一个UIImageVIew中显示消息。我需要让Facebook单元知道停止其他单元格的scrollTopToTop。谢谢。

回答

1

您需要的Alloc初始化文本视图也 尝试从调用方法:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
.... 
[cell stopScrollToTop]; 

..... 
return cell; 
} 

////在细胞

#import "MessageCell.h" 

@implementation MessageCell 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
self = [super initWithStyle:style reuseIdentifier:@"MessageCell"]; 
if (self) { 
    // Initialization code 

    _messageText = [[UITextView alloc]init]; 

} 
return self; 
} 

-(void)stopScrollToTop{ 
    [_messageText setScrollsToTop:NO]; 
} 

@end 
+0

感谢输入。但是,我的每个自定义单元格都恰好是我在cellForRowAtIndexPath方法中调用的另一个单元格的子类,因此单元格看不到stopScrollToTop方法。所以我需要以某种方式获取我调用的单元格以查看stopScrollToTop方法。有任何想法吗?并再次感谢您的帮助。 – Douglas 2013-03-25 12:59:43

+0

我更新了一下我的问题。也许这会有所帮助。谢谢。 – Douglas 2013-03-25 16:16:12

+0

为什么不使用视图而不是单元格内的子类单元格?我不认为细胞内的细胞是最好的方法?也许在单元格中查看。然后在视图中,做任何你想要的 – 2013-03-25 18:57:54