2012-08-09 103 views
1

我是IOS,Xcode和MVC的新手。我处在一个陡峭的学习曲线中,并且失败了,我认为这是一项最基本的任务。动态添加一个UIView到另一个

我有一个带有两个选项卡的选项卡式应用程序。这两个选项卡视图都与Web服务通信,我想将图像添加到每个选项卡视图,更改图像以指示连接状态。

因此,我创建了第三个带有控制器类(IconViewController)的.xib文件。我希望在每个选项卡视图中添加和删除此图标视图的实例。

这里是我的图标视图的伪代码:

@interface IconViewController : UIViewController 
{ 
    UIImageView *_icon; 
} 

@property (nonatomic) IBOutlet UIImageView *icon; 

- (void)setForBusy; 
- (void)setForOk; 
- (void)setForFail; 

与实现

@implementation IconViewController 

@synthesize icon = _icon; 

-(void)setForBusy 
{ 
    // Set Busy Icon Image 
} 

-(void)setForOk 
{ 
    // Set Ok Icon Image 
} 

-(void)setForFail 
{ 
    // Set Fail Icon Image 
} 

IBOutlet中被连接在厦门国际银行随行文件中的UIImageView的图标。

这里是根标签控制器中的一个:

#import "IconViewController.h" 

@interface TaboneViewController : UIViewController 
{ 
    IconViewController *_iconViewController; 
} 
@property (nonatomic) IBOutlet IconViewController *iconViewController; 

和执行:

@synthesize iconViewController = _iconViewController; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.iconViewController = [[IconViewController alloc] 
          initWithNibName:@"iconViewController" 
          bundle:nil]; 
    [self.view addSubview:self.iconViewController.view]; 
} 

在TabView的XIB界面生成器我添加了一个对象,并使它成为类类型IconViewController。我将图标视图控制器对象 - >参考插座连接到文件所有者 - > iconViewController插座

运行项目中,我得到的错误:
加载“iconViewController”笔尖,但没有设置视图插座。

我已经尝试了其他连接,但没有运气。在我看来,我的第一个连接应该工作,但事实并非如此。

任何想法我误解?原理是否正确(将第三个视图的实例加载到两个根视图中)?如果是这样,需要连接什么插座?

非常感谢,波莉

+0

你确定你正确地连接了.xib吗?该错误听起来像是内部错误,与连接无关。 – achi 2012-08-09 19:29:21

+0

连接肯定是在问题中解释的。 Icon View Controller具有一个连接到File Owner-> iconViewController的引用插座。这是你的意思吗? – Polly 2012-08-09 19:36:14

+0

为什么你用IconViewController使用UIViewControler? 只需制作您自己的子视图就简单多了。 – 2012-08-09 20:01:13

回答

1

我看到你的问题。你想为这两个标签都有共同的图像阶段。我认为最好是实现UIView(或UIImageView)的子类并实现像set(void)setForBusy等所有方法。你应该从父ViewController接收图像的阶段,就像UINavigationView控制器(如果有的话)。否则,你应该把舞台保存在其他地方。我个人认为,仅仅为了您的目的创建新的控制器太昂贵了。

希望它有帮助。

相关问题