Container View 使用小技巧

一、传值,顺传

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    TVC *vc = segue.destinationViewController;
self.containerVC = vc;
[self.btn addTarget:vc action:@selector(tapBtn:) forControlEvents:UIControlEventTouchUpInside]; }

在这个方法里,我们可以拿到下级控制器及其view进行相关操作,上级有个按钮,

这个按钮的事件也可以在当前控制器操作(这样的话貌似,下级控制器的头文件会暴露很多属性方便当前控制器调用),

也可以通过addtarget 的方法交级下级控制器处理(调起target,需要的下级页面的表单里的数据,也在其内部,个人觉得这样操作更好些)。

#import "ViewController.h"
#import "TVC.h"
@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIButton *btn;

@property (weak, nonatomic) TVC *containerTVC;
@property (weak, nonatomic) UITableView *tableView; 
@end

@implementation ViewController

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
TVC
*vc = segue.destinationViewController;
self.
containerTVC = vc;
@end

 

 

#import <UIKit/UIKit.h>

@interface TVC : UITableViewController

- (void)tapBtn:(UIButton *)btn;
@end
#import "TVC.h"

@interface TVC ()
@property (weak, nonatomic) IBOutlet UILabel *testLabel;

@end

@implementation TVC
- (void)tapBtn:(UIButton *)btn {
    NSLog(@"----%@---", self.testLabel.text);
}
@end

 

相关文章:

  • 2021-07-22
  • 2021-08-31
  • 2021-12-07
  • 2021-08-21
  • 2021-11-26
  • 2021-06-25
  • 2021-04-13
  • 2022-01-09
猜你喜欢
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2021-12-23
  • 2021-05-08
  • 2021-11-05
相关资源
相似解决方案