Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // stretchy
- [self setBackgroundImage:backgroundImage forState:UIControlStateNormal];
- // not stretchy
- [self setImage:forgroundImage forState:UIControlStateNormal];
- UIImageView *bgImageView = [[UIImageView alloc] initWithImage:img];
- bgImageView.contentMode = UIViewContentModeScaleAspectFit;
- [bgImageView setFrame:CGRectMake(0, 0, videoButton.frame.size.width, videoButton.frame.size.height)];
- bgImageView.tag = 99;
- [yourButton addSubview:bgImageView];
- [yourButton bringSubviewToFront:yourButton.imageView];
- UIImageView *bgImageView = (UIImageView *)[button viewWithTag:99];
- [bgImageView setFrame:CGRectMake(0, 0, newWidth, newHeight)];
- myButton.titleEdgeInsets = UIEdgeInsetsMake(0, -myImage.width, 0, 0)
- UIImage *img=[UIImage imageNamed:@"myimage.png"];
- CGImageRef imgRef = [img CGImage];
- CGFloat imgW = CGImageGetWidth(imgRef);
- CGFloat imgH = CGImageGetHeight(imgRef);
- CGFloat btnW = myBttn.frame.size.width;
- CGFloat btnH = myBttn.frame.size.height;
- //get lesser button dimension
- CGFloat minBtn=btnW;
- if (btnW>btnH) {
- minBtn=btnH;
- }
- //calculate scale using greater image dimension
- CGFloat scl=imgH/minBtn;
- if (imgW>imgH) {
- scl=imgW/minBtn;
- }
- //scale image
- UIImage *scaledImage = [UIImage imageWithCGImage:[img CGImage] scale:(img.scale * scl) orientation:(img.imageOrientation)];
- //clean up
- UIGraphicsEndImageContext();
- //set it on a button
- [myBttn setImage:scaledImage forState:UIControlStateNormal];
- ImageBn.imageView?.contentMode = .scaleAspectFit
- ImageBn.setImage(chosenImage, for: .normal)
- - (void)setHighlighted:(BOOL)highlighted
- {
- super.highlighted = highlighted;
- //
- //Whenever an image needs to be highlighted, create a dimmed new image that is correctly sized. Below it is a englarged stretched image.
- //
- if (highlighted != _previousHighlightedSate)
- {
- _previousHighlightedSate = highlighted;
- if (highlighted)
- {
- //Create a black layer so image can dim
- _blackLayer = [CALayer layer];
- _blackLayer.bounds = self.bounds;
- CGRect rect = _blackLayer.bounds;
- rect.size.width = rect.size.width*2;
- rect.size.height = rect.size.height*2;
- _blackLayer.bounds = rect;
- _blackLayer.backgroundColor = [[UIColor blackColor] CGColor];
- //create image layer
- _nonStretchImageLayer = [CALayer layer];
- _nonStretchImageLayer.backgroundColor = [UIColor blackColor].CGColor;
- _nonStretchImageLayer.bounds = CGRectMake(0 , 0, self.bounds.size.width, self.bounds.size.height);
- _nonStretchImageLayer.frame = CGRectMake(0 , 0, self.bounds.size.width, self.bounds.size.height);
- _nonStretchImageLayer.contentsGravity = kCAGravityResizeAspect;//default is to resize
- _nonStretchImageLayer.contents = (id)self.imageView.image.CGImage;
- _nonStretchImageLayer.opacity = 0.5;
- //add layers to image view
- [self.imageView.layer addSublayer:_blackLayer];
- [self.imageView.layer addSublayer:_nonStretchImageLayer];
- }
- else
- {
- //remove from image view
- [_blackLayer removeFromSuperlayer];
- [_nonStretchImageLayer removeFromSuperlayer];
- //nil them out.
- _blackLayer = nil;
- _nonStretchImageLayer = nil;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement