スプリットビューベースのiPadアプリでは、ナビゲーションバーとツールバーにカスタム背景画像を使用しています。 IはUINavigationBar
及び/又はUIToolbar
をサブクラスとdrawRect:
に私は(背景画像が長方形である)を有する:カスタム背景画像を使用してUINavigationBarとUIToolbarから丸みのあるコーナーを削除するにはどうすればよいですか?
- (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 - Remove Corner Rounding from views (iPad problem)
問題:私はすでに試した何
4.私はまったく同じものです。残念ながら、その質問に記載されている解決策は私のためには機能しません。 viewWillAppear
から呼び出されたとき、縦向きで何らかの理由で自分のnavigationItemが表示されなくなります。ランドスケープのdidRotateFromInterfaceOrientation:
から呼び出されると、角が丸くなりますが、同時にすべてのユーザー対話が無効になります。さらに、Portraitに戻って回転したとき、私の「マスター」ビュー(分割ビューの左側)は隠されていません。
私は受け入れ答えからコードを使用して得た出力は次のとおりです。
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を丸めました。
質問はです:どのように私はこれらの小さな丸いコーナーを取り除くことができますか?私のために働いた
これで運がいいですか?この同じ問題を自分自身で現在実行しています。 – raidfive
@raidfive私の答えを参照してください:) –