В приложении iPad на основе разделенного вида я использую пользовательское фоновое изображение на своих панелях навигации и панелях инструментов.Я вложил в подкласс UINavigationBar
и / или UIToolbar
и в drawRect:
у меня есть ( background-image прямоугольный):
- (void)drawRect:(CGRect)rect {
CGContextRef c = UIGraphicsGetCurrentContext();
UIImage *image = [UIImage imageNamed:@"background-image"];
CGContextDrawImage(c, rect, image.CGImage);
}
Результат равен , из которого я хочуубрать закругленные углы.
То, что я уже пробовал:
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
тот же результат, что и выше, clipsToBounds = YES;
в моих подклассах, cornerRadius=0.0
, - iPhoneOS SDK - удаление скругления углов из представлений (проблема с iPad)
Проблема, описанная в 4. является точнотот же, который у меня есть.К сожалению, решение, описанное в этом вопросе, не работает для меня.При вызове из viewWillAppear
В книжной ориентации он почему-то скрывает мой элемент навигации.При вызове из didRotateFromInterfaceOrientation:
в альбомной ориентации закругленные углы исчезают, но в то же время все взаимодействие с пользователем отключено.Кроме того, при повороте назад в «Портрет» мой «главный» вид (слева от разделенного вида) не скрыт.
Вывод, полученный с использованием кода из принятого ответа:
aView: <UIWindow: 0x5e18470; frame = (0 0; 768 1024); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x5e18280>>
subview: <UILayoutContainerView: 0x6942000; frame = (20 0; 748 1024); transform = [0, -1, 1, 0, 0, 0]; autoresize = W+H; layer = <CALayer: 0x6946b30>>
aView: <UILayoutContainerView: 0x6942000; frame = (20 0; 748 1024); transform = [0, -1, 1, 0, 0, 0]; autoresize = W+H; layer = <CALayer: 0x6946b30>>
subview: <BackgroundImageView: 0xbbacf70; frame = (0 0; 768 1004); layer = <CALayer: 0xbbad020>>
aView: <BackgroundImageView: 0xbbacf70; frame = (0 0; 768 1004); layer = <CALayer: 0xbbad020>>
subview: <UILayoutContainerView: 0x69144e0; frame = (321 0; 703 748); clipsToBounds = YES; layer = <CALayer: 0x6946fe0>>
aView: <UILayoutContainerView: 0x69144e0; frame = (321 0; 703 748); clipsToBounds = YES; layer = <CALayer: 0x6946fe0>>
subview: <UILayoutContainerView: 0xbbabc40; frame = (0 0; 320 748); clipsToBounds = YES; layer = <CALayer: 0xbbabc90>>
aView: <UILayoutContainerView: 0xbbabc40; frame = (0 0; 320 748); clipsToBounds = YES; layer = <CALayer: 0xbbabc90>>
subview: <UIImageView: 0x5e178c0; frame = (321 0; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba60d10>> - (null)
aView: <UIImageView: 0x5e178c0; frame = (321 0; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba60d10>> - (null)
subview: <UIImageView: 0xba74010; frame = (317 0; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba62180>> - (null)
aView: <UIImageView: 0xba74010; frame = (317 0; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba62180>> - (null)
subview: <UIImageView: 0xbad0110; frame = (321 745; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba60da0>> - (null)
aView: <UIImageView: 0xbad0110; frame = (321 745; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba60da0>> - (null)
subview: <UIImageView: 0xba60e00; frame = (317 745; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba60e30>> - (null)
aView: <UIImageView: 0xba60e00; frame = (317 745; 3 3); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xba60e30>> - (null)
И совершенно верно, есть маленькие, 3x3px, округленные UIImageViews с углами.
Вопрос : как мне избавиться от этих крошечных закругленных углов?