ios:如何在IB中从一个视图创建两个不同的视图



我在Intefacebuilder中创建了一个自定义UIView。在我的ViewController中,我想创建两个uiview实例。

下面是一些代码:

@interface MeineFinanzenViewController : UIViewController <UIGestureRecognizerDelegate> {
UISwipeGestureRecognizer* swipeLeft;
UISwipeGestureRecognizer* swipeRight;
//... other stuff
SaldoView* ausgabenView;
SaldoView* einnahmenView;
}
//...other stuff
@property (strong,nonatomic) IBOutlet SaldoView* ausgabenView;
@property (strong,nonatomic) IBOutlet SaldoView* einnahmenView;
//...other stuff

我将同一个视图连接了两次。首先是ausgabenView,其次是einnahmenView。但是在那之后,ausgabenView变成了与einnahmenView相同的对象。实际上我想要两个相互独立的物体。现在我在问自己如何做到这一点?

提示吗?

你应该手动加载视图:

- (SaldoView *)loadCustomView {
    NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"NibFileName" owner:nil options:nil];
    for (id object in nibViews) {
        if ([object isKindOfClass:[SaldoView class]]) {
            return (SaldoView *)object;
        }
    } 
    return nil;
}

并创建两个视图实例

    SaldoView* ausgabenView = [self loadCustomView];
    SaldoView* einnahmenView = [self loadCustomView];  

如果您正在通过图形化编辑nib文件来创建视图-就像您看起来的那样-那么如果您想要两个视图,那么您可以从库中将两个视图拖到编辑器上。然后将一个连接到每个出口。

最新更新