动态地将UIView添加到另一个

时间:2012-08-09 19:22:05

标签: ios xcode

我是IOS,Xcode和MVC的新手。我的学习曲线很陡峭,而且我认为这是最基本的任务。

我有一个带有两个标签的标签式应用程序。两个选项卡视图都与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连接到随附的xib文件上的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界面生成器中,我添加了一个Object,并使其成为类型 IconViewController 。我将图标视图控制器对象 - >参考插座连接到文件所有者 - > iconViewController插座

运行项目我收到错误:
加载了“iconViewController”笔尖,但未设置视图插座。

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

知道我误解了什么吗?原则是否正确(将第三个视图的实例加载到两个根视图中)?如果是这样,哪个插座需要连接?

非常感谢,Polly

1 个答案:

答案 0 :(得分:1)

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

希望它有所帮助。