簡體   English   中英

添加沒有XIB的子視圖

[英]Adding a subview without a XIB

這看起來很簡單,但是我剛開始,所以請耐心等待...

我有一個帶有工具欄的主視圖。 當用戶按下工具欄上的按鈕時,我希望在屏幕頂部出現一個小的提示。 我在現有的UIView中添加了一個UIView,並將其設置為隱藏。 我在視圖控制器中將其連接到名為“ searchView”的ivar,並嘗試了以下操作:

searchView.hidden = NO;

如果沒有用,我嘗試添加...

[self.view addSubview:self.searchView];

...也不起作用。

我是否需要以某種方式設置索引以使其高於主視圖?

這種方法是完全錯誤的嗎?

如果您是從界面構建器創建的UIView,請不要使用addSubview,因為界面構建器會自動執行此操作。

要在圖形模式(IB)中執行此操作,請按照下列步驟操作:

在文件“ h”中定義IBOutlet應該類似於:

IBOutlet UIView * myHiddenView;

然后,在IB中,將您在h文件中定義的IBOutlet連接到在IB中以圖形方式創建的UIView,並將hidden屬性賦予該UIView(復選框)。

然后在您的按鈕按下方法中執行以下操作:

myHiddenView.hidden = NO;

如果您願意,可以通過編程方式復制以下示例代碼:

在.h文件的界面中定義

UIView *myHiddenView;

.h文件中的接口之后:

-(void)displayView:(id)sender;

然后在.m文件中:

-(void)viewDidLoad{
    myHiddenView = [[UIView alloc] initWithFrame: CGRectMake (x, y, width, height)];
    myHiddenView.hidden = YES;
    [self.view addSubview: myHiddenView]

    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(x, y, width, height)];
    [button setTitle:@"button" forState:(UIControlState)normal];
    [button addTarget: self action: @selector(displayView:) forControlEvents: UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

-(void)displayView:(id)sender{
    myHiddenView.hidden = NO;
}

暫無
暫無

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

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