更新しました
viewcontroller A は B に移動してから A に戻ります。viewcontrollerA の UItableview の各セルに UIButton があります。ボタンをクリックすると、ボタンが強調表示され、viewcontrollerB に移動します。ビューコントローラーAに戻ったときにボタンの選択を解除したい。ボタンの強調表示がうまく機能するのは、問題である選択解除です。
cellforrowatindexpath で、私はこれを持っています:
if(indexPath.row==selectedbuttonindex)
{
addpeople.selected=YES;
}
else
{
addpeople.selected=NO;
}
UIImage *buttonImageNormal =[UIImage imageNamed:@"addtochatNormal.png"];
UIImage *buttonImageSelected =[UIImage imageNamed:@"addtochatSelected.png"];
[addpeople addTarget:self action:@selector(addpeopletoChat:)
forControlEvents:UIControlEventTouchDown];
[addpeople setBackgroundImage:buttonImageSelected forState:UIControlStateHighlighted];
[addpeople setBackgroundImage:buttonImageNormal forState:UIControlStateNormal];
[addpeople setBackgroundImage:buttonImageSelected forState:UIControlStateSelected];
addpeople.frame = CGRectMake(0,0, 51, 44);
[cell.contentView addSubview:addpeople];
私は以下の答えを検討しましたが、ここに私の更新されたコードがありますが、まだ機能していません:
ボタンの選択とView Controllerの変更は、次の方法で実現されます。
-(void) addpeopletoChat : (UIButton*)button{
UITableViewCell *cell_ = (UITableViewCell *)button.superview.superview;
NSIndexPath *index_Path = [topictableView indexPathForCell:cell_];
NSLog(@"%@", index_Path);
selectedbuttonindex=index_Path.row;
[topictableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:index_Path] withRowAnimation:UITableViewRowAnimationFade];
countaddpeople=countaddpeople+1;
addpeopletochatViewController* viewcontrollerB = [[addpeopletochatViewController alloc] init];
viewcontrollerB.viewcontrollerA=self;
[self.slidingViewController anchorTopViewTo:ECRight];//changes view to viewcontroller B
}
これはそれを選択解除することになっていた
-(void) somefuction{
NSLog(@"%d", selectedbuttonindex);
NSUInteger indexArr[] = {0,selectedbuttonindex};
NSIndexPath *index_Path = [NSIndexPath indexPathWithIndexes:indexArr length:2];
selectedbuttonindex=-1;
NSLog(@"%@" @"%@", @"hi", index_Path);
[topictableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:index_Path] withRowAnimation:UITableViewRowAnimationFade];
}
ビューコントローラーBのhファイルには次のものがあります:
#import <UIKit/UIKit.h>
#import "officerTopicsViewController.h"
@class officerTopicsViewController;
@interface addpeopletochatViewController : UIViewController{
}
@property (nonatomic,retain) officerTopicsViewController *viewcontrollerA;
@end
そしてそのmファイルには次のものがあります:
-(void)viewDidDisappear:(BOOL)animated
{
[viewcontrollerA somefunction];
}
しかし、それでも機能しません。今回は、最初のように NSlogs が表示されないため、関数が呼び出されません。
よろしく