Ограничения программно и с раскадровками

Можно ли устанавливать ограничения программно и при использовании раскадровки? Я использую этот https://github.com/raphaelschaad/RSPlayPauseButton а также это для ограничений https://github.com/SnapKit/Masonry. Однако, они не отображаются правильно: ПлохойХорошо

Изображение слева не отображается правильно, и оно не кликабельно (это кнопка).

Соответствующий код:

- (void)viewDidLoad {

    [super viewDidLoad];

    _playPauseButton = [[RSPlayPauseButton alloc] init];
    _playPauseButton.tintColor = [UIColor blackColor];
    [_playPauseButton addTarget:self action:@selector(playPauseButtonDidPress:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:_playPauseButton];

}

- (void)viewDidLayoutSubviews
{

    [self.playPauseButton mas_makeConstraints:^(MASConstraintMaker *make) {
                make.center.equalTo(self.view).with.offset(10);
            }];

}

1 ответ

Решение

Вам нужно добавить ограничения ширины / высоты для playPauseButton, попробуй это:

- (void)viewDidLoad {
    [super viewDidLoad];

    _playPauseButton = [[RSPlayPauseButton alloc] init];
    _playPauseButton.tintColor = [UIColor blackColor];
    [_playPauseButton addTarget:self action:@selector(playPauseButtonDidPress:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:_playPauseButton];

    [playPauseButton mas_makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(self.view).with.offset(10);
        make.width.equalTo(@(50));
        make.height.equalTo(@(50));
    }];
}
Другие вопросы по тегам