如何从Storyboard获取自定义UIView

时间:2013-05-16 14:09:13

标签: uiview storyboard

在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。 如何获得我的观点?

1 个答案:

答案 0 :(得分:0)

这里的问题是,只有在调用FatEditViewController的方法viewDidLoad时才会实例化myview,当然只有在屏幕上显示视图控制器时才会调用它。实现所需的一种可能方法是以编程方式构建myView(它不再是IBOutlet),可能是通过在getter中初始化它来实现的。您还必须以编程方式将视图添加到viewDidLoad方法中的FatEditViewController。

-(UIView *)myview
{
    if(!_myview){
        _myview = [[UIView alloc] initWithFrame:whateverFrameYouNeed];
        //build the view
    }
    return _myview;
}

该物业也必须强大。