我可以在自定义UIAlertView中添加UIImageView吗?

时间:2011-05-23 07:07:16

标签: iphone xcode uiimageview uialertview

我已经有了一个自定义的UIAlertView,我想添加UIImageView来添加自定义的UIAlertView。

我已经在阵列中添加了UIImageView并开始设置动画,但它不起作用。如果你愿意,我可以发布代码。

请尽快帮助我。我卡住了:(

这是代码

- (id)initWithImage:(UIImage *)image text:(NSString *)text
{

    //CGSize imageSize = self.backgroundImage.size;
    CGRect frame = [[UIScreen mainScreen] bounds];

    width = frame.size.width; 
    height = frame.size.height;

    if (self = [super init])
    {



        loadtext = [[UILabel alloc]initWithFrame:CGRectZero];
        loadtext.textColor = [UIColor blackColor];
        loadtext.backgroundColor = [UIColor whiteColor];
        [self addSubview:loadtext];

        //Create the first status image and the indicator view
        UIImage *statusImage = [UIImage imageNamed:@"status1.png"];
        activityImageView = [[UIImageView alloc] 
                                          initWithImage:statusImage];


        //Add more images which will be used for the animation
        activityImageView.animationImages = [NSArray arrayWithObjects:
                                             [UIImage imageNamed:@"status1.png"],
                                             [UIImage imageNamed:@"status2.png"],
                                             [UIImage imageNamed:@"status3.png"],
                                             [UIImage imageNamed:@"status4.png"],
                                             [UIImage imageNamed:@"status5.png"],
                                             [UIImage imageNamed:@"status6.png"],
                                             [UIImage imageNamed:@"status7.png"],
                                             nil];


        //Set the duration of the animation (play with it
        //until it looks nice for you)
        activityImageView.animationDuration = 1.0;


        //Position the activity image view somewhere in 
        //the middle of your current view
        activityImageView.frame = CGRectZero;

        //Start the animation
        [activityImageView startAnimating];


        //Add your custom activity indicator to your current view
        [self addSubview:activityImageView];



        //self.backgroundImage = image;



    }
    return self;
}

- (void) layoutSubviews{
    //lblUserName.transform = CGAffineTransformMake;
    //[lblUserName sizeToFit];

    CGRect textRect = activityImageView.frame;
    textRect.origin.x = (CGRectGetWidth(self.bounds) - CGRectGetWidth(textRect))/2;
    textRect.origin.y = (CGRectGetHeight(self.bounds) - CGRectGetHeight(textRect))/2;
    textRect.origin.x -= 100.0;
    textRect.origin.y -= 60.0;
    textRect.size.height = 30;
    textRect.size.width = self.bounds.size.width - 50;

    activityImageView.frame = textRect;
}   

此代码开始工作。但是现在这个UIImageView占据了我的整个屏幕并且在UIAlertView前面。虽然我给出10px的高度和宽度。它显示相同。有人可以帮忙吗?

谢谢, Anks

2 个答案:

答案 0 :(得分:0)

是的,您可以在自定义提醒视图中添加图片视图。而不是作为UIView自定义类,需要采取UIImage-View&你可以使用图像视图属性。

答案 1 :(得分:0)

更改activityImageView.frame = CGRectZero;

到一些自定义框架。

例如:

activityImageView.frame = CGRectMake(0,0,100,100);