У меня есть приложение для iOS, в котором я создаю пользовательский вид для элемента навигации.Элемент навигации работает отлично и размещается правильно каждый раз, когда я подхожу к экрану.
Однако, когда VC выталкивается с этого экрана, и я возвращаюсь к экрануэлемент навигации на мгновение появляется в нужном месте, но сразу же перемещается в правый угол.
Я подозреваю, что это связано с анимациейпанели навигации во время перехода, но даже после нескольких попыток обойти это все же происходит.Ниже приведен код для представления элемента навигации.
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 44)];
v.backgroundColor = [UIColor clearColor];
v.opaque = NO;
UILabel *subtitleLabel = [[UILabel alloc] initWithFrame:CGRectIntegral(CGRectMake(v.bounds.origin.x, v.bounds.origin.y + v.bounds.size.height * 0.6, v.bounds.size.width, v.bounds.size.height * 0.3))];
subtitleLabel.text = subtitle;
subtitleLabel.font = [UIFont systemFontOfSize:11];//Font adjusted to accomodate text into size
subtitleLabel.backgroundColor = [UIColor clearColor];
subtitleLabel.opaque = NO;
subtitleLabel.textAlignment = NSTextAlignmentCenter;
subtitleLabel.textColor = defaultSubtitleTextColor;
subtitleLabel.shadowOffset = defaultShadowOffset;
subtitleLabel.shadowColor = defaultShadowColor;
[v addSubview:subtitleLabel];
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectIntegral(CGRectMake(v.bounds.origin.x, v.bounds.origin.y + v.bounds.size.height * 0.1, v.bounds.size.width, v.bounds.size.height * 0.5))];
titleLabel.text = title;
titleLabel.font = [UIFont boldSystemFontOfSize:19];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.opaque = NO;
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.textColor = defaultTextColor;
titleLabel.shadowOffset = defaultShadowOffset;
titleLabel.shadowColor = defaultShadowColor;
[v addSubview:titleLabel];
navItem.titleView = v;
Уже потрачено много времени на это, любая помощь будет высоко оценена.