2012-06-06 2 views
6

Desidero aggiungere un bordo bianco a UIImageView. Ho provato quanto segue, ma non ha funzionato:Come aggiungere solo il bordo destro a UIImageView

UIImage *image = [UIImage imageNamed:imagePath]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    CGRect rect = imageView.frame;   
    rect.size.width = rect.size.width + 1; // create white right border 
    [imageView setBackgroundColor:[UIColor whiteColor]]; 

    imageView.frame = rect; 
    [myViewView addSubview:imageView]; 

risposta

13

io ora fatto come

 CALayer *sublayer = [CALayer layer]; 
     sublayer.backgroundColor = [UIColor whiteColor].CGColor; 
     sublayer.frame = CGRectMake(imageView.bounds.size.width, 0, 1, imageView.frame.size.height); 
     [imageView.layer addSublayer:sublayer]; 
1

è possibile creare un UIView che è più grande della vista UIImage, e impostare telaio della visualizzazione dell'immagine per essere 0,0, larghezza + 1, altezza, e questo aggiungerà l'extra al lato.

+0

ma questo è quello che faccio nel mio codice ...? – headkit

+0

si effettua un normale UIView e quindi si aggiunge imageView. L'UIView dovrebbe essere quello più grande, non l'imageView. – CBredlow

+0

ma UIImageView è ereditato da un UIView. Non è solo una visione per molto allora? perché il mio codice non funziona? – headkit