objective-c - 从另一个类添加和控制 UIImageView subview

标签 objective-c ios uiimageview

我有两个类:MainViewController 和 PlayerImageController (NSObject)

我如何才能将我的 UIImageView 的 subview 从 PlayerImageController 添加到我的 MainViewController 并指示像这样的操作

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview:[PlayerImageController addPlayerImage]];
}

- (void)somethingHappened
{
    [PlayerImageController changePlayerImage];
}

并在我的 PlayerImageController 类中使用我的方法

+ (UIImageView *) addPlayerImage
{
    heroPlayerImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"hero-still.png"]];
    [heroPlayerImageView setFrame:CGRectMake(151, 200, 17, 23)];
    return heroPlayerImageView;
}

+ (void) changePlayerImage 
{
  //change image
}

谢谢!

最佳答案

我认为在你的情况下你应该使用委托(delegate)模式。 声明:

@protocol PlayerImageUpdater
  - createPlayerImage;
  - changePlayerImage;
@end

然后添加:

@interface PlayerImageController <PlayerImageUpdater>

然后添加到 MainViewController ivar 和属性,如:

@property (...) id<PlayerImageUpdater> playerDelegate;

将此委托(delegate)设置为:mainViewController.playerDelegate = playerImageControllerInstance;

并在代码中使用:

[playerDelegate createPlayerImage];
[playerDelegate changePlayerImage];

关于objective-c - 从另一个类添加和控制 UIImageView subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988507/

相关文章:

objective-c - 我们应该用弱指针而不是强指针指向 NSManagedObject 实体吗?

ios - 使用 SDWebImage 下载大图像时应用程序崩溃?

ios - 关于 MKMapView -regionThatFits :? 的 Apple 文档不正确

iphone - 有没有办法分析 UIImage 的像素?

ios - UIScrollView 中具有一些复杂条件的动态大小的 UIImageView

ios - 从 UIFont 中选择一个随机字体

objective-c - 相当于懒惰属性 getter 的Swift

ios - iOS中的随机数?

Objective-c 异步内存管理

swift - 更改 IBOutlet (UIImageView) 的宽度