У меня есть subclassed UINavigationBar, где я переопределяю drawRect, чтобы предоставить png с прозрачностью в качестве фона. Каждая вещь работает так, как ожидалось, за исключением 1 пикселя в верхней части панели (я вижу, что основная карта перемещается в пространстве).Пользовательский UINavigationBar смещен на 1 пиксель в верхней части
Единственное, что я смог найти этот вопрос, который звучит как моя проблема, но я не знаю, что делать объяснения: Empty space of 1 pixel above UINavigationBar
Я проверил, что файл PNG делает не имеет 1 пиксела прозрачности в верхней части изображения.
Перекрытие в наследнике UINavigationBar:
- (void)drawRect:(CGRect)rect {
[_bg drawInRect:CGRectMake(0, 0, _bg.size.width, _bg.size.height)];
// showing correct bounds - drawRect: 0.000000, 0.000000, 320.000000, 85.000000
NSLog(@"drawRect: %f, %f, %f, %f", rect.origin.x,
rect.origin.y,
rect.size.width,
rect.size.height);
}
- (CGSize)sizeThatFits:(CGSize)size {
CGRect frame = [[UIScreen mainScreen] applicationFrame];
CGSize sz = CGSizeMake(frame.size.width, _bg.size.height);
NSLog(@"sizefits");
return sz;
}
спасибо за любую помощь!
Использовал ли вы 24/32-битный PNG-изображение или 8-битный? –
Привет, спасибо за ответ. Я дважды проверен, и он 32-битный. Есть идеи? – Matt