У меня есть UISlider
, что я хочу поставить пользовательский созданный UIImage
на растяжку. Я создаю это так:resizableImageWithCapInsets на UISlider искажается в iOS 6 и выше
UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width * difference, image.size.height)];
iv.backgroundColor = [BSFunctions getColorFromHex:@"f7f8fa"];
iv.image = cappedImage;
[self addSubview:iv];
UIGraphicsBeginImageContextWithOptions (iv.frame.size, YES, [[UIScreen mainScreen] scale]);
[iv.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[iv removeFromSuperview];
return img;
Я могу подтвердить, что изображение создается право, и это выглядит следующим образом:
Однако, когда я положил его на ползунок и начинается изображение растягивать, это выглядит следующим образом:
как я добавить его к слайдера следующее:
UIImage *newImage = [self imageStretchedOnLeft];
UIImage *rightStretchImage = [newImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, newImage.size.width - 2, 0, 0)];
[self setMinimumTrackImage:rightStretchImage forState:UIControlStateNormal];
Раньше это работало несколько сборок назад, и я ни о чем не прикасался, когда он внезапно прекратил работать. Что еще более удивительно, UISlider
работает как на симуляторе iOS 5.1, и поэтому на iOS 5! Все это сводит меня с ума, и я не знаю, как подойти к нему. Любая помощь будет оценена по достоинству.
Я создаю приложение для прошивкой 5 и выше и тестирование его на IOS 6