0

2つのカスタムセルを持つUITableViewがあります。セルごとにUITableViewCellをサブクラス化しました。どちらにも、スクロールできるUITextViewがあります。ユーザーがトップバーをタップしてトップにスクロールできるようにしたいと思います。テキストビューのscrollsToTopをオフにする必要があることはわかっています。しかし、私はそれをどこに置くべきか正確にはわかりません。このようにカスタムセル内で試してみました。

#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

しかし、それはうまくいきませんでした。誰かアイデアはありますか?他にどこに置けばいいのかわからない。実際のテーブルビューVCで試しましたが、プロパティが認識されませんでした。助けてくれてありがとう!

以下の私の回答に沿って進みます。私は、FaceBookCellと呼ばれるcellForRowAtIndexPathで呼び出すセルを持っています。このセルにはUIImageViewが含まれています。それをメッセージセルとフォトセルにサブクラス化します。どちらもUIImageViewが必要ですが、メッセージセルはUITextViewにメッセージを表示し、PhotocellはUITextViewにメッセージを表示し、別のUIImageVIewに写真を表示します。他のセルのscrollsToTopを停止するようにFacebookセルに通知する必要があります。ありがとう。

4

1 に答える 1

1

テキストビューの初期化も割り当てる必要があります。次の場所からメソッドを呼び出してみてください。

-(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
于 2013-03-25T12:13:32.970 に答える