высота просмотра xcode

Есть ли способ изменить высоту полосы просмотра прогресса в Xcode?

Я использую Xcode 4.3 и мне нужен вертикальный индикатор выполнения. Я повернул полосу, но теперь не могу изменить высоту и отображается в виде круга.

Также будет полезен более эффективный способ поворота индикатора выполнения.

Спасибо!


person Amelia777    schedule 02.07.2012    source источник
comment
см. мой ответ здесь: stackoverflow.com/questions / 3437564 / с использованием протокола iOS5 UIAppearance   -  person Jason    schedule 01.10.2013


Ответы (6)


Некоторые сообщили, что изменение кадра вручную будет работать:

[self.progressView setFrame:CGRectMake(0, 0, 300, 25)];

В то время как другие сообщили, что CGAffineTransform () также работает:

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];

Что касается вращения, используйте:

#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
[self.progressView setTransform:CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(angle))];
person CodaFi    schedule 02.07.2012
comment
где бы вы ни захотели изменить его размер. - person CodaFi; 04.07.2012
comment
где угодно в файле .m? в нем написано, что «я» - это необъявленный идентификатор, как мне это исправить? - person Amelia777; 04.07.2012
comment
setFrame не работает в моем случае. Я хочу отрегулировать высоту. Я использую iOS7. - person vijayst; 02.02.2014

На этот вопрос уже дан ответ здесь Как увеличить высоту UIProgressView

@implementation UIProgressView (customView)

-(CGSize)sizeThatFits:(CGSize)size {
    CGSize newSize = CGSizeMake(self.frame.size.width,9);
    return newSize;
}
@end
person Shoaib    schedule 10.01.2014

Здесь вам поможет код. вы хотите установить изменение высоты uislider CGAffineTransformMakeScale height.

    UISlider *slider_progres = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 56, 320, 15)];

    CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 3.0f);

    slider_progres.transform = transform;
person Hardik Patel    schedule 04.03.2014

У меня только что была аналогичная проблема в iOS 7.

Если вы используете [UIProgressView appearance] для установки прогресса и отслеживания изображений, представление прогресса будет отображаться правильно для индикаторов выполнения, загруженных из файла Xib.

Если, однако, вы программно создаете UIProgressView (после установки изображений через appearance), изображения внешнего вида будут использоваться, однако его высота останется неизменной, а значение «2» будет обрезано, и даже вызов setFrame не исправит его.

Исправление состоит в том, чтобы программно устанавливать изображения непосредственно в программно созданном UIProgressView, а не полагаться на настройки внешнего вида.

person Brad Robinson    schedule 11.10.2013

Думаю, это вам поможет.

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
person Atanu Mondal    schedule 23.07.2014

Для меня это работает только в том случае, если вы унаследованы от класса UIProgressView.

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];

Пример:

    @implementation CustomProgressView

        - (id)initWithCoder:(NSCoder *)aDecoder
        {
            self = [super initWithCoder:aDecoder];
            if (self) {
                [self setTransform:CGAffineTransformMakeScale(1.0, 3.0)];

            }
            return self;
        }
    @end

Другой класс:

@property (weak, nonatomic) IBOutlet CustomProgressView *cProgressView;
person Tzegenos    schedule 23.08.2014