2011-12-12 100 views
0

我在Intefacebuilder中创建了一个自定义的UIView。在我的ViewController中,我想创建我的UIViews的两个实例。ios:如何从IB中的一个视图创建两个不同的视图?

因此,这里是一些代码:

@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相同的对象。其实我想有两个相互独立的独立对象。现在我在问自己如何做到这一点?

任何提示?

回答

-1

如果你是通过图形化编辑笔尖文件创建您的视图中的两个实例 - 因为它似乎你是 - 那么如果你想要两个视图,那么你将两个视图从库中拖到编辑器中。然后,您将一个连接到每个插座。

+0

对不起,也许我不明白。你的意思是我应该两次连接我的单一SaldoView。一次到ausgabenView和一次到einnahmenView?因为这正是我所做的,哪些不起作用。 – toom

+0

如果你在界面生成器中有一个'SaldoView',可能你把一个'UIView'拖到你的笔尖上,你把类改成了'SaldoView',然后你把它连接到两个插座?只将它连接到一个插座。然后再做一次第二种观点。将它连接到另一个插座。 – Jim

+0

是的,那意味着两倍的工作。我怀疑这是否有必要。 – toom

1

您应该手动加载您的观点:

- (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]; 
+0

感谢您的答案,但mmhh我使用故事板。在那种情况下我会怎么做? – toom

+0

我认为你的情况没有区别 – Victor

相关问题