如何创建对对象的引用以在 iOS 中对其进行动画处理

Posted

技术标签:

【中文标题】如何创建对对象的引用以在 iOS 中对其进行动画处理【英文标题】:How can I create a reference to an object to animate it in iOS 【发布时间】:2012-09-24 04:27:55 【问题描述】:

我有一个imageView,我在里面放了一个按钮。我有两个问题:

如何在不丢失功能的情况下正确添加按钮? 如何在方法中引用我的imageView 来为视图设置动画?

代码:

- (void)viewDidLoad

    [super viewDidLoad];

    UIImageView *grayFrame = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"expSqrGray.png"]];

    [self.view addSubview:grayFrame];

    grayFrame.frame = CGRectOffset(grayFrame.frame, 0, 0);

    UIButton *testButton = [UIButton buttonWithType:UIButtonTypeCustom];
    testButton.frame = CGRectMake(20, 20, 200, 44);
    testButton.backgroundColor = [UIColor blackColor];
    [testButton setTitle:@"Test" forState:UIControlStateNormal];
    [testButton addTarget:self action:@selector(tapped:) forControlEvents:UIControlEventTouchUpInside];

    [grayFrame addSubview:testButton];
    //[self.view addSubview:testButton];

【问题讨论】:

你想做什么样的动画? 只需将带有按钮的图像从底部移动到一定高度即可。 是你想要动画的按钮吗?还是按钮内的图片? 我希望图像和按钮都使用相同的动画。图片将作为背景,我还将在其上添加标签。 【参考方案1】:

我对 Objective-C 知之甚少,但您可能想要做的是为您的类创建 grayFrametestButton 成员变量。这样,您的整个班级都可以访问这两个对象。

例如:

// Test.H
@interface YourClass : NSObject 
   UIImageView * grayFrame;
   UIButton * testButton;

然后您可以使用另一种方法来引用其中任何一个。

- (void) initializeObjects 
   grayFrame = [ [ UIImageView alloc ] initWithImage:[ UIImage imageNamed:@"expSqrGray.png" ] ];
   testButton = [ UIButton buttonWithType:UIButtonTypeCustom ];

   // Do things here.

【讨论】:

哇,我真傻。我对所有其他事情感到非常困惑,以至于我忘记了这一点。谢谢

以上是关于如何创建对对象的引用以在 iOS 中对其进行动画处理的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8:如何正确设置扩展以使用模拟器在 Xcode 中对其进行调试?

如何在Vue中对对象数组进行排序和过滤

如何在iOS中对包含数字和名称的字符串数组进行排序

如何在 ios XCTestCase 中对两个对象不相等进行单元测试

如何在jpql中对其进行排序?

使用以编程方式创建的 segue IOS 调用自定义过渡动画师