2013-08-23 13 views
15

Qualcuno potrebbe aiutarmi a voler aggiungere la stessa immagine più volte orizzontalmente con stessa altezza e larghezza. La cosa importante è che sto creando la vista delle immagini in modo dinamico voglio usare la stessa vista delle immagini per tutte le immagini! Questa è l'immagine enter image description here voglio fare orizzontalmente come questo enter image description here ma solo una riga necessaria in questo modo.Come ripetere l'immagine con orizzonti nella creazione dinamica in ios

+0

stai usando scrollview? –

+0

ya scrollview using –

+0

cosa vuoi ottenere? Domanda poco chiara ... – preetam

risposta

16

questo con Soffietto Metodo che utilizza stretchableImageWithLeftCapWidth come questo senso: -

UIImage *backgroundImage = [[UIImage imageNamed:@"SheetBackground.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0]; 

come par tuo esempio necessità: -

UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0]; 

    [_scro setBackgroundColor:[UIColor colorWithPatternImage:backgroundImage]]; 

E utilizzando l'immagine enter image description here

E 'in uscita come: -

enter image description here

[inserire descrizione dell'immagine qui] [4]

è possibile impostare questa immagine come molto al di sopra qualsiasi UISCrollview, UIView, pulsante come il par! non hai bisogno di forloop per quello.

UPDATE: -

Questo codice qui sopra per intero sfondo, se si desidera aggiungere solo per una riga lineof allora è necessario creare un'UIView come par avete bisogno di Hight e aggiungere impostato è colorWithPatternImage e aggiungere come Bellow

UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] 
    stretchableImageWithLeftCapWidth:1 topCapHeight:0]; 
UIView *v=[[UIView alloc] 
    initWithFrame:CGRectMake(0, 0, _scro.frame.size.width, 45)]; 
[v setBackgroundColor:[UIColor 
    colorWithPatternImage:backgroundImage]]; 
[_scro addSubview:v]; 

Ed è uscita è: -

enter image description here

3

Consente di visualizzare l'altezza dell'immagine. Ma questa vista può avere qualsiasi larghezza.

Quindi impostare l'immagine delle tessere in questa vista con il seguente codice.

UIImage *tiledImage = [UIImage imageNamed:@"myTiledImage.png"]; 
self.view.backgroundColor = [UIColor colorWithPatternImage:tiledImage]; 

In questo modo l'immagine viene affiancata più volte orizzontalmente.

Se la vista si diffonde in tutto il mondo l'immagine sullo schermo, allora si dovrà aggiungere il seguente codice alla visualizzazione

self.view.clipToBounds = YES; 
+0

ne sei sicuro? ... non è orizzontale ... è tutto intorno al parco ... –

+0

cosa intendi con "tutto il parco"? Non ti capisco ... – CodenameLambda1

+0

Ni id su cui vuoi applicare lo sfondo basta solo la larghezza 30, altezza 40 –

0
UIScrollView *myScrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; 

CGFloat scrollWidth = 0.f; 
for (int i=0;i<10;i++)//i=10,put as many image number u want to display 
{ 

    imageView = [[UIImageView alloc] initWithFrame: 
          CGRectMake(scrollWidth, 0, 80, 60.f)]; 
    imageView.image=[UIImage imageNamed:@"urimagename"]; 
    imageView.tag=i; 
    [myScrollView addSubview:imageView]; 

    scrollWidth += 100; 
} 
myScrollView.contentSize = CGSizeMake(scrollWidth, 100); 

EDIT:

È possibile raggiungere questo obiettivo in un altro modo.

CodenameLambda1 la risposta è migliore di quella precedente.Ma ancora alcune modifiche devono essere fatte nella risposta @ CodenameLambda1..come requisito SOP è di visualizzarlo in scrollview.So invece di self.view utilizzare scrollview.

UIScrollView *vie=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 60)]; 
UIImage *tiledImage = [UIImage imageNamed:@"login"]; 
vie.backgroundColor = [UIColor colorWithPatternImage:tiledImage]; 
vie.contentSize=CGSizeMake(1400,60); 
vie.clipsToBounds = YES; 

[self.view addSubview:vie]; 
Problemi correlati