インターフェイスビルダーからUIViewを作成した場合は、addSubviewの使用を忘れてください。これは、インターフェイスビルダーが自動的に行うためです。
グラフィカルモード(IB)でこれを行うには、次の手順に従います。
ファイルにIBOutletを定義します。「h」は次のようになります。
IBOutlet UIView * myHiddenView;
次に、IBで、hファイルで定義したIBOutletをIBでグラフィカルに作成したUIViewに接続し、この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;
}