Высота представления прогресса в iOS 7
Я хочу увеличить высоту представления прогресса в iOS 6 и ниже, я делаю это, используя метод появления
UIImage *progressImage = [[UIImage imageNamed:@"sliderbk-progress.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 5)];
[[UIProgressView appearance] setProgressImage:progressImage];
но теперь в iOS7 этот код не работает, я даже попробовал данный ниже код, но не использовал. Любая помощь будет полезна. Благодаря
[[UIProgressView appearance] setFrame:CGRectMake(20, 100, 280, 100)];
Ответы
Ответ 1
Если я правильно понимаю вопрос, похоже, что вы хотите увеличить высоту представления прогресса в iOS7, а код, который вы использовали ранее в iOS6, больше не работает.
Мне пришлось решить подобную проблему в последнее время, и я сделал это, добавив ограничение в представление прогресса в Interface Builder и установив высоту явно через ограничение. Это решение потребует использования Auto-Layout, поэтому убедитесь, что оно включено.
![height attribute]()
Показан: атрибут "Высота" в "Инспекторе размеров" явно отображается серым цветом для представления "Прогресс" и не может быть изменен - однако я определил ограничение на "Прогресс" и установил высоту ограничения на 50 точек, что фактически отражается в IB.
Из того, что я видел, IOS6 Progress Bars имеет статическое значение высоты, поэтому, если вы также хотите поддерживать iOS6, для этого потребуется другой подход.
Ответ 2
В то время как другие сообщили, что CGAffineTransform() также работает:
[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
Ответ 3
Используйте этот код: -
CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f);
progressView.transform = transform;
Ответ 4
Уже ответил здесь
Как увеличить высоту UIProgressView
@implementation UIProgressView (customView)
- (CGSize)sizeThatFits:(CGSize)size
{
CGSize newSize = CGSizeMake(self.frame.size.width,9);
return newSize;
}
@end
Ответ 5
Здесь Swift версия user3189408 и Rushabh отличные решения для новых разработчиков и быстрых энтузиастов, таких как я. Протестировано для iOS 7 +/Swift 2.0.
progressView.transform = CGAffineTransformMakeScale(1.0, 5.0)
Ответ 6
Swift 3.x
progressView.transform = CGAffineTransform(scaleX: 1.0, y: 5.0)
Ответ 7
Вы можете заметить, что frame
не может быть установлен appearance
accessor. Вы должны установить его на каждом представлении прогресса отдельно.
Обычно высота устанавливается в зависимости от стиля строки выполнения.
- (id)initWithProgressViewStyle:(UIProgressViewStyle)style; // sets the view height according to the style