Высота представления прогресса в 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;

Ответ 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