2012-12-29 51 views
0

我正在尝试制作自定义活动指示器并将大小和位置设置为: (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); 

虽然我的问题是我不知道如何使坐标和大小什么,我想用这个位的代码。非常感谢!

+0

建议:使用for循环和格式化字符串来初始化数组。 – 2012-12-29 21:58:32

回答

8

看起来你只需要做:以上

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

第2个CGRectMake调用参数是X和视图的左上角相对于它的父左上角的Y坐标。其余参数是视图所需的宽度和高度。

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

[self.view:addSubview:activityImageView]; 
+1

感谢您的帮助,并且:[self.view:addSubview:activityImageView];这也起了作用,那究竟做了什么? – PolygonHJ

+0

视图需要有父视图才能显示在屏幕上。这很重要,因为它有助于系统定位视图(定位总是相对于超视图)。 – Macondo2Seattle

+0

听起来不错,谢谢你的帮助! – PolygonHJ

相关问题