Как добавить интервал между панелью навигации и UISearchBar? - PullRequest
0 голосов
/ 11 июня 2018

Я хотел бы добавить индикатор выполнения между панелью навигации и UISearchBar.Могу ли я узнать, как я могу это реализовать?Пожалуйста помоги.Спасибо.

enter image description here

Вот мой текущий код в Cell.m

- (void)layoutSubviews
{
    [super layoutSubviews];

    CGRect barFrame = CGRectInset(self.searchBar.frame, 10.0f, 10.0f);
    self.searchBar.frame = barFrame;
}

Вот мой текущий код в ViewController.m Не отразился в этом коде после редактирования._searchBar=[[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, 24)];

- (void)viewDidLoad {

    [super viewDidLoad];

    _valueProgress = [[LDProgressView alloc] initWithFrame:CGRectMake(0,DCNaviH, ScreenW, 10.0f)];
    _valueProgress.type = LDProgressSolid;
    _valueProgress.color = ThemeRedColor;
    _valueProgress.progress = 0.40;
    _valueProgress.flat = @YES;
    _valueProgress.showText = @NO;
    [self.view addSubview:_valueProgress];
}
- (UISearchBar *)searchBar{
    if (!_searchBar) {
        _searchBar=[[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, 24)];
        [_searchBar setBackgroundImage:[UIImage imageNamed:@"ic_searchBar_bgImage"]];
                                                                                                 }];
    }
    return _searchBar;
}

1 Ответ

0 голосов
/ 11 июня 2018

Есть несколько простых вариантов для вас, в зависимости от ваших приложений UX.Я думаю, что лучшим решением для вас, исходя из того, как вы объяснили свою проблему, было бы включить индикатор прогресса в свой вид и убедиться, что он находится над другими представлениями, располагая его под панелью навигации.

_valueProgress = [[LDProgressView alloc] init];
_valueProgress.translatesAutoresizingMaskIntoConstraints = NO;
_valueProgress.type = LDProgressSolid;
_valueProgress.color = ThemeRedColor;
_valueProgress.progress = 0.40;
_valueProgress.flat = @YES;
_valueProgress.showText = @NO;
[self.view addSubview:_valueProgress];
[_valueProgress.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].isActive = YES;
[_valueProgress.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].isActive = YES;
[_valueProgress.heightAnchor constraintEqualToConstant:10.0f].isActive = YES;

if (@available(iOS 11.0, *)) {
    [_valueProgress.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.topAnchor].isActive = YES;
} else {
    [_valueProgress.topAnchor constraintEqualToAnchor:self.topLayoutGuide.bottomAnchor].isActive = YES;
}

Иесли панель поиска была добавлена ​​над индикатором выполнения, вы всегда можете позвонить [self.view bringSubviewToFront:_valueProgress] впоследствии.

...