2012-04-09 51 views
1

(xCode 4.3.2,ARC,Storyboard)我有一個Master/Detail項目,MasterViewController是一個UITableViewController,像往常一樣。它的頂部有一個導航欄,底部有一個工具欄。我創建了一個自定義子視圖,我在viewDidLoad中以編程方式加載。從滾動中禁用UITableview的子視圖

它加載得很好,就像我想要的那樣在頂部,但是當用戶滾動tableview時,子視圖也會滾動。我需要子視圖「堅持」到底部。

enter image description here

這裏是我用於添加子視圖的代碼:

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屬性,和既沒有工作。

我也通讀了很多關於禁用webview滾動的主題,但沒有發現任何相關內容。

我發現了另一個SOF問題,可能會或可能不起作用,但用戶沒有解釋答案。 "The trick is to adjust the frame of the "non-scrollable" subview inside -layoutSubviews."

+0

您是否找到解決方案? – filou 2012-12-01 20:01:14

回答

10

我通過將子視圖的UINavigationController容器這樣取得了理想的結果:

[self.navigationController.view addSubview:totalBG]; 
0

如上面的答案。只需將該特定子視圖添加到UIScrollView實例外部的任何子視圖即可。如果它不假設滾動,那麼將它放在滾動視圖內就沒有意義了。而是使滾動視圖只佔用總計子視圖頂部的高度

相關問題