【问题标题】:set a custom image size and location programmatically以编程方式设置自定义图像大小和位置
【发布时间】:2012-12-29 21:55:43
【问题描述】:

我正在尝试制作自定义活动指示器并将大小和位置设置为: (x 坐标 280;y 坐标 5;高度 34;宽度 34) 我有代码:

UIImage *statusImage = [UIImage imageNamed:@"activity1.png"];
    UIImageView *activityImageView = [[UIImageView alloc]
                                      initWithImage:statusImage];

            activityImageView.animationImages = [NSArray arrayWithObjects:
                                         [UIImage imageNamed:@"activity1.png"],
                                         [UIImage imageNamed:@"activity2.png"],
                                         [UIImage imageNamed:@"activity3.png"],
                                         [UIImage imageNamed:@"activity4.png"],
                                         [UIImage imageNamed:@"activity5.png"],
                                         [UIImage imageNamed:@"activity6.png"],
                                         [UIImage imageNamed:@"activity7.png"],
                                         [UIImage imageNamed:@"activity8.png"],
                                         [UIImage imageNamed:@"activity9.png"],
                                         [UIImage imageNamed:@"activity10.png"],
                                         [UIImage imageNamed:@"activity11.png"],
                                         [UIImage imageNamed:@"activity12.png"],
                                         [UIImage imageNamed:@"activity13.png"],
                                         [UIImage imageNamed:@"activity14.png"],
                                         [UIImage imageNamed:@"activity15.png"],
                                         [UIImage imageNamed:@"activity16.png"],
                                         [UIImage imageNamed:@"activity17.png"],
                                         [UIImage imageNamed:@"activity18.png"],
                                         nil];

    activityImageView.animationDuration = 0.8;

    [activityImageView startAnimating];

    [self.view addSubview:activityImageView];

这使得圆圈和理解我需要代码:

activityImageView.frame = CGRectMake(
                                             self.view.frame.size.width/2
                                             -statusImage.size.width/2,
                                             self.view.frame.size.height/1.2
                                             -statusImage.size.width/1.2,
                                             statusImage.size.width,
                                             statusImage.size.height);

虽然我的问题是我不明白如何使用这段代码将坐标和大小设置为我想要的。非常感谢您的帮助!

【问题讨论】:

  • 建议:使用 for 循环和格式化字符串初始化数组。

标签: ios objective-c cocoa-touch dimension activity-indicator


【解决方案1】:

看起来你只需要这样做:

activityImageView.frame = CGRectMake(280, 5, 34, 34);

上述 CGRectMake 调用中的前 2 个参数是视图左上角相对于其父视图的 X 和 Y 坐标。剩下的参数是视图的所需宽度和高度。

另外,不要忘记将您的图像视图添加到超级视图,例如

[self.view:addSubview:activityImageView];

【讨论】:

  • 感谢您的帮助,以及:[self.view:addSubview:activityImageView];也有帮助,这到底是做什么的?
  • 一个视图需要有一个父视图才能在屏幕上显示。这很重要,因为它有助于系统定位视图(定位总是相对于父视图)。
猜你喜欢
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-08
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多