0

私はこのようなインターフェースを作成しようとしています

ここに画像の説明を入力してください

ナビゲーションバーの下でテーブルビューの上にあるドロップシャドウ付きの破れた紙があるところ。

テーブルビューコントローラーで次のコードを使用します

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.view addSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed: @"ripped-paper"]]];
}

これは、リッパー紙がテーブルビューでスクロールすることを除いて、正常に機能します。ナビゲーションバーの下に固定しておく必要があります。

何か案は?

4

2 に答える 2

3

shadowImageiOS 6では、のプロパティを使用できますUINavigationBar

UIImage *image = [[image imageNamed:@"tornPaper"] resizableImageWithCapInsets:UIEdgeInsetsMake(/* Your insets here */)];
self.navigationItem.navigationBar.shadowImage = image;
于 2013-01-20T13:20:49.763 に答える
0

テーブルビューコントローラーに画像を追加してみてくださいself.view.superview

    [self.view.superview addSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed: @"ripped-paper"]]];

ただし、これはで実行する必要がviewDidAppearあります(そうしないと、self.view.superviewはまだ設定されません)。

これには、フレーム/センターの変更も必要になる場合があります。多かれ少なかれ次のようになります。

  UIImageView* rippedView = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"ripped-paper"]];
  rippedView.center = <SET CENTER HERE>;
  [self.view.superview addSubview:rippedView];

しかし、最終的には、ビューの階層に大きく依存します。

編集:

自動回転の問題については、ビューのautoresizingMaksを設定してみてください

rippedView.autoresizingMaks = UIViewAutoresizingNone;

物事が改善するかどうかを確認します。そうすれば、画像ビューは回転時にサイズ変更されるべきではありません。(また:あなたはあなたのローテーション方法で何かをしていますか?)

于 2013-01-20T10:55:29.617 に答える