簡體   English   中英

是否可以從同一視圖將視圖切換到表視圖?

[英]Is it possible to switch view to tableview from same view?

我有一個viewcontroller.xib,其中包含視圖,按鈕,工具欄按鈕,文本框和tableview。 當我加載初始屏幕時沒有表視圖,這很好。 現在,當我單擊工具欄上的按鈕說“ viewtable”時,我希望視圖移到tableview。 我已經用一些默認對象填充了tableview數據,如下所示:

- (void)viewDidLoad
{
       tableData = [[NSArray alloc] initWithObjects:@"object1",@"object2",@"object3",@"object4", nil];

    [super viewDidLoad];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [tableData count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = nil;

    cell = [tableView dequeueReusableCellWithIdentifier:@"My Cell"];

    if(cell==nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"My Cell"];
    }
    cell.textLabel.text=[tableData objectAtIndex:indexPath.row];
    return cell;
}

因此,當我單擊工具欄視圖按鈕時,它應該顯示帶有工具欄按鈕的表視圖,該工具欄按鈕也具有后退按鈕,因此當我單擊它時,它應該隱藏表視圖並顯示初始視圖。 是否可以在單個xib中完成所有這些操作? 如果我創建另一個xib並將控制權簡單地轉移到該xib,則可以實現結果,但是我想知道是否有可能在不創建第二個xib文件的情況下做到這一點。 對於導航,我可以使用導航控制器,但是我想檢查一下是否可以使用工具欄來轉移控件。 謝謝。

如果您不需要動畫,則可以執行以下操作

  1. 在您的界面中獲取tableView的句柄,如下所示:

    @property(nonatomic,assign)IBOutlet UITableView * tableView;

  2. 最初在您的表視圖中隱藏(例如在viewDidLoad方法中)

    -(void)viewDidLoad {[super viewDidLoad]; self.tableView.hidden =是; }

  3. 然后在工具欄按鈕調用的方法中執行以下操作

    -(void)on_click_toolbar_button {self.tableView.hidden =!self.tableView.hidden; //這將保持表格視圖從隱藏狀態切換到顯示狀態,反之亦然。 }

您可以使用hidden屬性來實現。 將它們放在適當的方法中。

_tableView.hidden = Yes;

_tableView.hidden = No;

我強烈建議在兩個單獨的XIB中執行此操作。 第一個應該包含一個UIViewController (您的初始視圖),第二個應該包含一個UITableViewController (您的表視圖)類。 兩者都應該由UINavigationController處理-不要爭吵API,如果沒有必要,請嘗試自己動手。 提到的控制器類為您提供了開箱即用所需的一切。

好吧,不建議這樣做,但是您可以通過刪除並添加tableview來實現。

首先檢查表視圖是否在視圖內,如果不放在視圖中,並將數據源的委托設置為文件所有者,然后在視圖表方法中編寫此代碼

-(void)viewTable
{
self.tableView.hidden = NO;
self.viewToolbar.hidden=YES;
}

在工具欄中的后退按鈕代碼上寫

-(void)goback
{   
self.tableView.hidden = YES;
self.viewToolbar.hidden=NO;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM