gpt4 book ai didi

ios - 动态添加一个 UIView 到另一个

转载 作者:行者123 更新时间:2023-11-29 13:31:06 25 4
gpt4 key购买 nike

我是 IOS、Xcode 和 MVC 的新手。我正处在一个陡峭的学习曲线上,并且在我认为是最基本的任务上失败了。

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

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

这是我的图标 View 的伪代码:

@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。

这是根选项卡 Controller 之一:

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

运行项目我得到错误:
加载了“iconViewController” Nib ,但未设置 View socket 。

我尝试过其他连接,但没有成功。在我看来,我的第一个连接应该有效,但没有。

知道我误解了什么吗?原理好不好(将一个third view的实例加载到两个root view中)?如果可以,需要连接什么 socket ?

非常感谢,波莉

最佳答案

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

希望对您有所帮助。

关于ios - 动态添加一个 UIView 到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com