2 Stimmen

Bild in der Bildlaufansicht

Ich verwende den folgenden Code, um zu versuchen, ein Bild in einer UIScrollView anzuzeigen.

[self.jarView addSubview:imgView];

Das funktioniert nicht. Es funktioniert jedoch, wenn ich die Unteransicht zu meiner normalen Ansicht hinzufüge. Meine UIScrollView heißt jarView und imgView ist eine UIImageView.

Gracias

0 Stimmen

Wenn es mit der normalen Ansicht funktioniert, dann liegt das Problem in self.jarView . Überprüfen Sie Ihre Eigenschaft, Ihren Ausgang und Ihre Init-Methode.

0 Stimmen

@beryllium Was ist die Init-Methode? Muss die ScrollView initialisiert werden? Mein Bild ist richtig initialisiert. Die ScrollView wird im Interface Builder erstellt.

0 Stimmen

Ist die Scrollview mit dem IBOutlet jarView im Interface Builder verknüpft?

1voto

GauravBoss Punkte 140

Das funktioniert bei mir gut:

UIScrollView *scrollview;
scrollview= [[UIScrollView alloc] initWithFrame:CGRectMake(,,,)];// set scroll view size
view = [[UIView alloc] initWithFrame:CGRectMake(y1,x1,y2,x2)];  //set the view size
UIImage *image1 = [UIImage imageNamed:imageName];
image=[[UIImageView alloc]initWithImage:image1];// take image size according to view
[view addSubview:image];
[scrollview addSubview:view];
[view release];

Legen Sie endlich fest, wie viel scrollview ist eine Schriftrolle:

scrollview.contentSize = CGSizeMake(width,height);

0 Stimmen

2 Fragen: 1) Ist ScrollView und View, neu oder sind sie die bestehenden IB-Objekte? 2) Ist y1,x1,y2,x2 das gleiche wie in der ScrollView? Vielen Dank

0 Stimmen

Hier programmiere ich alles, was ich tun muss.

0 Stimmen

Was ist Ansicht? Ist es self.view oder wird sie dynamisch erstellt?

0voto

Igor Kulagin Punkte 1620

Stellen Sie sicher, dass Ihr scrollView.contentSize der Wert der Eigenschaft korrekt eingestellt ist (Breite und Höhe sollten > 0 sein).

0voto

GauravBoss Punkte 140

Ich gebe Ihnen meinen Beispielcode. In diesem Code füge ich mehrere Bilder auf Scroll-Ansicht und diese Arbeit gut für mich:

UIScrollView *scrollview;

- (void)anyFunction
{
    scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 30, 320, 50)];   
    NSInteger viewcount = [cat_Products count]; // if you have four content your view count is 4..(four)..in my case i fetch it from database

    CGFloat y2 = 0;
    UIView *view;
    UIImageView *imageView;
    NSString *imageName;

    for(int i = 0; i< viewcount; i++)   
    {  
        CGFloat y = i * 64;  
        y2 = y2 + 64;

        view = [[UIView alloc] initWithFrame:CGRectMake(y, 0, y2, 50)];

        imageName = [[NSString alloc] initWithFormat:@"c%i", (i + 1)]; // my image name is c1, c2, c3, c4 so i use this

        UIImage *image1 = [UIImage imageNamed:imageName];   
        imageView = [[UIImageView alloc] initWithImage:image1];
        [view addSubview:imageView];
        [scrollview addSubview:view];
        [view release];
        [imageView release];
        [imageName release];
    }    

scrollview.contentSize = CGSizeMake(viewcount*64,0);  //viewcount*64 because i use image width 64..and  second parameter is 0..because i not wants vertical scrolling... 
[myView addSubview:scrollview];
[scrollview release];
}

Ich hoffe, das hilft.

0voto

Sharme Punkte 625

Hier stelle ich meine Antwort ein. Probieren Sie es aus.

Sie können alle Bilder in ein Array laden. Und Sie können eine Ansicht mit einer Bildansicht entwerfen und den folgenden Code ausprobieren:

Name des Arrays: examplearray und Name der Ansicht: exampleview

-(void)updateImagesInScrollView
{
     int cnt = [examplearray count];

    for(int j=0; j< cnt; ++j)
    {
        NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"exampleview" 
                                                             owner:self 
                                                           options:nil];

        UIView *myView = [nibContents objectAtIndex:0];
        exampleview * rview= (exampleview *)myView;
        /* you can get your image from the array and set the image*/ 
        rview.imageview.image = yourimage;
        /*adding the view to your scrollview*/
        [self.ScrollView addSubview:rview];
    }
    /* you need to set  the content size of the scroll view */
    self.ScrollView.contentSize = CGSizeMake(X, self.mHorizontalScrollView.contentSize.height);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X