カスタム UIView は、私の友人が望むものです。
そのため、スーパー UIView を持つクラスを作成します。
object-c クラスの呼び出しを作成します。たとえば、私はCustomViewと呼んでいます
あなたのヘッダー(.h)
#import <UIKit/UIKit.h>
@interface CustomView : UIView
@end
あなたのクラス(.m) #import "CustomView.h"
@implementation CustomView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[self loadNib];
}
return self;
}
- (void) loadNib
{
NSArray * subviewArray = [[NSBundle mainBundle] loadNibNamed:@"MyNib" owner:self options:nil];
UIView * mainView = [subviewArray objectAtIndex:0];
[self addSubview:mainView];
}
- (IBAction)close:(id)sender{
[self removeFromSuperview];
}
@end
ViewController 呼び出しで、カスタム ビューを追加します。多くの場合、IBAction (ボタン クリックなど) でこれが必要です。
CGRect frame = CGRectMake(10,10,300, 460);
CustomView *view = [[CustomView alloc] initWithFrame:frame];
[self.view addSubview:view];
カスタム ビューがメイン ビューに追加されると、nib がロードされます。
編集: x を閉じるには。customView には IBACTION があり、[self removeFromSuperView]; と言うだけです。コントローラーと通信するデリゲートをセットアップして、view on closes などで何かを実行したい場合があります。
オフのカスタム ビューをタップして閉じることができるようにするには、カスタム ビューを閉じてカスタム ビューの下に配置し、画面全体をカバーするUIView
配置を作成します。UITapGestureRecognizer
お役に立てれば、
ブーレンジャー