1

我是 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 Interface Builder 中,我添加了一个 Object 并将其设为类类型IconViewController。我将Icon View Controller Object->Reference Outlet连接到File Owner->iconViewController Outlet

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

我已经尝试过其他连接,但没有运气。在我看来,我的第一个连接应该可以工作,但它没有。

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

非常感谢,波莉

4

1 回答 1

1

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

希望能帮助到你。

于 2012-08-10T10:12:28.430 回答