J'espère que tout va bien et que vous jouissez d'une bonne vie de codage.Délégués personnalisés pour UIViewController ayant ContainerView
Je souhaite utiliser des délégués de ChlidView dans ParentView.
ChatHomeViewController (ParentView)
ChatHomeViewController.h
#import <UIKit/UIKit.h>
#import "ChatActionsViewController.h"
@interface ChatHomeViewController:UIViewController<UITableViewDataSource,UITableViewDelegate, ChatActionsViewControllerDelegate>
@property (weak, nonatomic) IBOutlet UITableView *tableViewChatHome;
@property (weak, nonatomic) IBOutlet UIButton *cmdBackMenu;
@property (weak, nonatomic) IBOutlet UIView *containerViewActions;
@property (weak, nonatomic) IBOutlet UIButton *cmdShowActions;
@property (weak, nonatomic) IBOutlet UIView *viewHeadin;
@end
ChatHomeViewController.m
@interface ChatHomeViewController()
@property (strong, nonatomic) NSMutableArray *tableData;
@end
@implementation ChatHomeViewController
@synthesize tableViewChatHome;
@synthesize cmdShowActions;
@synthesize containerViewActions;
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
[cmdShowActions addTarget:self action:@selector(displayChatActions) forControlEvents:UIControlEventTouchUpInside];
[containerViewActions setHidden:YES];
}
-(void)displayChatActions{
ChatActionsViewController *chatActions = [[ChatActionsViewController alloc] initWithNibName:@"ChatActionsViewController" bundle:nil];
chatActions.delegate = self;
[containerViewActions setHidden:NO];
}
#pragma mark - ChatActions Delegates
-(void)creatNewChat:(NSString *)newChatOrGroup{
NSLog(@"creatNewChat:(NSString *)newChatOrGroup");
[containerViewActions setHidden:YES];
}
ChatActionsViewController (ChileView)
ChatActionsViewController.h #import
@protocol ChatActionsViewControllerDelegate <NSObject>
@optional
-(void)creatNewChat: (NSString *)newChatOrGroup;
@end
@interface ChatActionsViewController : UIViewController
@property (assign,nonatomic) id<ChatActionsViewControllerDelegate> delegate;
@property (weak, nonatomic) IBOutlet UIView *viewBG1;
@property (weak, nonatomic) IBOutlet UIView *viewBG2;
@property (weak, nonatomic) IBOutlet UIButton *cmdCreatNewGroup;
@property (weak, nonatomic) IBOutlet UIButton *cmdCreatNewChat;
- (IBAction)actionNewChat:(id)sender;
- (IBAction)actionNewGroup:(id)sender;
@end
ChatActionsViewController.m
#import "ChatActionsViewController.h"
@interface ChatActionsViewController()
@end
@implementation ChatActionsViewController
@synthesize viewBG1, viewBG2;
@synthesize cmdCreatNewChat, cmdCreatNewGroup;
@synthesize delegate;
- (void)viewDidLoad {
[super viewDidLoad];
[[viewBG1 layer] setCornerRadius:4];
[[viewBG1 layer] setBorderColor:[UIColor lightTextColor].CGColor];
[[viewBG1 layer] setBorderWidth:1];
viewBG1.layer.masksToBounds = NO;
viewBG1.layer.shadowOffset = CGSizeMake(1, 1);
viewBG1.layer.shadowRadius = 3;
viewBG1.layer.shadowOpacity = 0.2;
[[viewBG2 layer] setCornerRadius:4];
[[viewBG2 layer] setBorderColor:[UIColor lightTextColor].CGColor];
[[viewBG2 layer] setBorderWidth:1];
viewBG2.layer.masksToBounds = NO;
viewBG2.layer.shadowOffset = CGSizeMake(1, 1);
viewBG2.layer.shadowRadius = 3;
viewBG2.layer.shadowOpacity = 0.2;
}
- (IBAction)actionNewChat:(id)sender {
NSLog(@"actionNewChat");
[[self delegate] creatNewChat:@"1"];
}
- (IBAction)actionNewGroup:(id)sender {
NSLog(@"actionNewGroup");
[[self delegate] creatNewChat:@"2"];
}
@end
La question que je suis confronté est de legate ne fonctionne pas proprement. Initialement, le containerView est caché. Lorsque l'utilisateur clique sur "+" Button, puis containerView devient visible. Je veux délégué travaillé si je clique sur Nouveau Chat ou Nouveau Groupe Boutons.
S'il vous plaît aidez-moi à gérer ce délégué. Merci d'avance.
Merci pour la réponse. –