在FatEditViewController中,有一个自定义的UIView。
FatEditViewController.h
#import <UIKit/UIKit.h>
@interface FatEditViewController
@property (weak, nonatomic) IBOutlet UIView *myview;
@end
在另一个UIViewController中,我想获取myview对象。 我喜欢这个:
FatEditViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"FatEdit"];
UIView *view = [vc myview];
NSLog(@"%@, %@", vc,view);
myview为null。 如何获得我的观点?
答案 0 :(得分:0)
这里的问题是,只有在调用FatEditViewController的方法viewDidLoad时才会实例化myview,当然只有在屏幕上显示视图控制器时才会调用它。实现所需的一种可能方法是以编程方式构建myView(它不再是IBOutlet),可能是通过在getter中初始化它来实现的。您还必须以编程方式将视图添加到viewDidLoad方法中的FatEditViewController。
-(UIView *)myview
{
if(!_myview){
_myview = [[UIView alloc] initWithFrame:whateverFrameYouNeed];
//build the view
}
return _myview;
}
该物业也必须强大。