1

(xCode 4.3.2、ARC、ストーリーボード)マスター/詳細プロジェクトがあり、MasterViewControllerはいつものようにUITableViewControllerです。上部にナビゲーションバーがあり、下部にツールバーがあります。プログラムでロードするカスタムサブビューを作成しましたviewDidLoad

それはうまくロードされ、私が望むように一番上にありますが、ユーザーがテーブルビューをスクロールすると、サブビューもスクロールします。下部に「貼り付ける」ためのサブビューが必要です。

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

サブビューを追加するために使用したコードは次のとおりです。

    CGRect totalFrame = CGRectMake(0, 314, 320, 58);
    UIView *totalBG = [[UIView alloc] initWithFrame:totalFrame];
    totalBG.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"totalBG.png"]];
    [self.view addSubview:totalBG];

    CGRect totalLabelFrame = CGRectMake(12, 12, 80, 40);
    totalLabelBG = [[UILabel alloc] initWithFrame:totalLabelFrame];
    totalLabelBG.backgroundColor = [UIColor clearColor];
    totalLabelBG.text = @"Total:";
    [totalLabelBG setFont:[UIFont boldSystemFontOfSize:22]];
    totalLabelBG.userInteractionEnabled = NO;
    totalLabelBG.textColor = [UIColor whiteColor];
    totalLabelBG.shadowColor = [UIColor blackColor];
    totalLabelBG.shadowOffset = CGSizeMake(0, 1);
    [totalBG addSubview:totalLabelBG];

userInteractionEnabledをNOにviewDidLoad設定してタッチを検出し、totalLabelBG.centerプロパティを設定しようとしましたが、どちらも機能しませんでした。

また、Webビューのスクロールを無効にする方法について多くのスレッドを読みましたが、関連するものは何も見つかりませんでした。

応答が機能する場合と機能しない場合がある別のSOF質問を見つけましたが、ユーザーは回答を説明しませんでした。「秘訣は、-layoutSubviews内の「スクロールできない」サブビューのフレームを調整することです。」

4

2 に答える 2

10

次のようにサブビューをUINavigationControllerコンテナに追加することで、目的の結果を達成しました。

[self.navigationController.view addSubview:totalBG];
于 2012-04-09T12:59:02.830 に答える
0

上記の回答のように。その特定のサブビューを UIScrollView インスタンスの外側のサブビューに追加するだけです。スクロールすることが想定されていない場合は、最初からスクロール ビュー内に配置しても意味がありません。代わりに、スクロール ビューが合計サブビューの上部までの高さのみを占めるようにします。

于 2013-11-25T20:23:09.693 に答える