проверить изображения, отображаемые в UIScrollview - PullRequest
0 голосов
/ 07 марта 2011

Привет, я новичок в разработке для iPhone.
Я создаю UIImageViews программно по нажатию кнопки. но каждый раз, когда я нажимаю кнопку, они рисуются в одном и том же месте. код рисования изображения выглядит следующим образом.

- (IBAction)Button
{
arrayOfImages = [[NSMutableArray alloc]init];
float x = 15.0,y = 15.0, width = 100.0, height = 100;
CGRect frame = CGRectMake(x, y, width, height);
int i= 0;

if ([shape isEqualToString:@"Rectangle"])
{

    UIGraphicsBeginImageContext(frame.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 2.0);    
    CGRect main =CGRectMake(x, y, 70.0, 30.0);
    CGContextFillRect(context, main);   

    CGRect topSeat1 = CGRectMake(15.0, 0.0, 15.0, 13.0);
    CGRect topSeat2 = CGRectMake(42.5, 0.0, 15.0, 13.0);
    CGRect topSeat3 = CGRectMake(70.0, 0.0, 15.0, 13.0);

    CGRect leftSeat = CGRectMake(0.0, 22.5, 13.0, 15.0);

    CGRect rightSeat = CGRectMake(87.0, 22.5, 13.0, 15.0);


    [[UIColor redColor]set];
    //UIRectFill(main);
    UIRectFill(topSeat1);
    UIRectFill(topSeat2);
    UIRectFill(topSeat3);
    UIRectFill(leftSeat);
    UIRectFill(rightSeat);
    UIRectFrame(main);

    [[UIColor blackColor]set];
    UIRectFrame(topSeat1);
    UIRectFrame(topSeat2);
    UIRectFrame(topSeat3);
    UIRectFrame(leftSeat);
    UIRectFrame(rightSeat);

    UIImage * images = [[UIImage alloc]init];
    images = UIGraphicsGetImageFromCurrentImageContext();

    UIImageView* myImage=[[UIImageView alloc]initWithFrame:frame];
    [myImage setImage:images];
    myImage.tag= i;
    i++;


    UIGraphicsEndImageContext();
    [self.view addSubview:myImage];
    [arrayOfImages addObject:myImage];
    [myImage setUserInteractionEnabled:YES];
}
}  

все, что я хочу, это то, что, если я нажму кнопку, он должен проверить, что если в этом месте уже нарисован UIIMAgeView, то он немного оттягивает UIIMageView от него.
Буду признателен, если вы поможете мне с кодом.

1 Ответ

2 голосов
/ 07 марта 2011

используйте переменную для хранения количества нажатий кнопки, затем используйте переменную для настройки места вашего просмотра

или вы можете запросить суперпредставление для подпредставлений и сравнить кадр подпредставления спросмотр изображения

for (UIView *subview in self.view.subviews) {
    if (/* compare subview.frame with myImage.frame */) {
        /* update myImage.frame */
        break;
    }
}
...