私はカスタムを作成したサンプルプロジェクトUIWebViewという名前のWebViewを作成しました。それらはUIViewControllerのビューに追加されます。 2つのWebViewは、viewDidLoadで初期化され、配列リストに追加されます。最初のものはサブビューとしてself.viewとして追加されます。ストーリーボードにはUIBarButtonがあり、これをタップすると、WebViewがサブビューとしてself.viewに追加されます。ここUIToolbarをUIWebViewに配置する方法
- (void)viewDidLoad
{
[super viewDidLoad];
WebView *webView1 = [[WebView alloc] initWithFrame:self.view.bounds];
WebView *webView2 = [[WebView alloc] initWithFrame:self.view.bounds];
self.webViews = [NSArray arrayWithObjects: webView1, webView2, nil];
UIWebView *webView = [self.webViews objectAtIndex:0];
[self.view addSubview:webView];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.google.com/"]]];
}
ツールバーが図の底部(-50px)に添加するWebViewのの実装である:
@implementation WebView
- (void) initToolbar {
UIToolbar *toolbar = [UIToolbar new];
toolbar.barStyle = UIBarStyleBlackTranslucent;
toolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;
[toolbar sizeToFit];
toolbar.frame = CGRectMake(0, self.frame.size.height-80, 320, 30);
[self addSubview:toolbar];
}
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self initToolbar];
}
return self;
}
@end
問題はツールバーが持っていないこと、です2つのビュー内の同じ位置(最初のビューのように配置できます)。なぜ彼らは等しく配置されていないのですか?マイノート http://uploads.demaweb.dk/UIWebView.zip
:あなたがここに小さなサンプルプロジェクトをダウンロードすることができ
述べたように、2 のWebView年代は、現在のviewDidLoadに初期化されます。代わりに私が待っていて、最初に必要なときに初期化すれば、期待どおりに動作するようです。