2016-02-12 65 views
-3

我有我的viewcontroller與2按鈕的視圖。如果我按下按鈕,我想用搜索欄+我的數據庫中的數據獲取新窗口。如何在沒有新的VC的情況下實現它?在目標中創建額外的窗口 - C

+0

在xcode中按cmd + q。 – dan

回答

1

你基本上想要在按下按鈕時將另一個視圖帶入當前視圖控制器。

這裏將是我的做法:

做出視圖一個單獨的類(在你的情況下,搜索欄,然後從數據庫中的數據)。另外一個單獨的XIB會很方便。

讓類被命名爲「酥料餅」

在Popover.m:

+ (PopOverView*) createInstance { 

    PopOverView *xibView = [[[NSBundle mainBundle] loadNibNamed:@"PopOverView" owner:self options:nil] objectAtIndex:0]; 
    [xibView setFrame:CGRectMake(CGRectMinXEdge + 10, CGRectMinYEdge + 10, 200, 200)]; 
    // adjust frame according to your need 

    [xibView setBackgroundColor:[UIColor redColor]]; 

    return xibView; 
} 

下一頁:在您的視圖控制器,在你將添加以下代碼按鈕的水龍頭:

- (IBAction)buttonTapped:(id)sender { 

    UIView *myPopoverView = [PopOverView createInstance]; 
    AppDelegate *appDel = [UIApplication sharedApplication].delegate; 
    [appDel.window addSubview:myPopoverView]; 
} 

注意:我將'PopOver'視圖添加到應用程序委託的窗口而不是VC,因爲在您的情況下,您不希望用戶在顯示時與視圖控制器進行交互g'Popover'窗口。在這種情況下,最好在應用程序窗口中呈現視圖。

還:您可以在呈現視圖時爲其設置動畫效果。爲此,請參閱此鏈接:addSubview animation

最後,您需要在PopOver視圖類中實現搜索和數據庫功能。 (不要忘記在VC和Popover之間添加代理)。

希望這會有所幫助。

謝謝!

+0

謝謝,它適用於我。我有問題。在解決方案中添加X按鈕有沒有簡單的方法?我只想關閉popover – Kiee79

+0

當然。只需在PopOver XIB文件中添加一個按鈕即可。給它一個X(十字)圖像。將按鈕點擊的代表從Popover.m設置到您的VC,然後從窗口中刪除彈出式子視圖。 –

+0

如果沒有問題,你可以寫我這個代碼應該在Popover.m和ViewControler.m?我在代表如此糟糕,meybe它幫助我理解 – Kiee79

1

當您在xcode中創建項目並且整個應用程序正在該窗口上運行時,默認情況下會在應用程序中創建窗口。

如果我沒有錯,你想創建一個視圖並將其添加到一個窗口。

  • 創建一個文件 - >新建 - >文件 - >的iOS(的UserInterface),選擇視圖名稱它 「YourView」
  • 創建另一個文件 - >新建 - >文件 - >的iOS(來源),選擇CocoaTouch類, 命名爲

「YourView」 「的UIView」 的子類。

YourView *viewObj = [[[NSBundle mainBundle] loadNibNamed:@"YourView" owner:self options:nil] objectAtIndex:0]; 

AppDelgate *appDelObj = [[UIApplication sharedApplication] delegate]; 
[appDelObj.window addSubview:viewObj]; 

您的意見已添加到窗口上。