2011-01-02 11 views
4

黒/灰色を白に変更するにはどうすればよいですか?UIScrollViewの背景色を変更しますか?

これはUIViewがUIViewControllersプロパティにアタッチされ、UIViewを塗りつぶすWebviewと共に単純なビューです。

- (void)loadView { 
UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 416.0f)]; 
[webView setBackgroundColor:[UIColor whiteColor]]; 
self.view = webView; 
[webview release]; 
} 

感謝を事前に:

UPDATEは

ここで動作するコードです。

iPhone

答えて

11

あなたは、これを達成するために、署名ビーイングUIScrollViewのbackgroundColorプロパティを使用することができます:あなたが使用したい、白にそれを変更するなど

@property(nonatomic, copy) UIColor *backgroundColor 

[myScrollView setBackgroundColor:[UIColor whiteColor]]; 
+0

@Andreasあなたの質問を更新する必要があります。コメントにコードを入れないでください。私はあなたのためにこれをやったので、あなたのコメントを削除してください。 :-) –

+0

コードはまだ動作しませんが、UIWebViewが既にスクロールしているので、UIWebViewを含むUIScrollViewを持つのが正しいかどうかわかりません。UIWebViewのどこかで色を変更する必要がありますか? – LuckyLuke

+1

@ Andreas - UIWebViewはUIScrollViewと同じサイズなので、私はこれが当てはまると思われます。そこにはUIScrollViewを置く価値はありません。 UIWebViewはUIViewから継承しているので、上記のように背景colo(u)rを設定できるはずです。 :-) –

0

コードの改善点:

- (void)viewDidLoad { 
[super viewDidLoad]; 
UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(self.view.bounds)]; 
[webView setBackgroundColor:[UIColor whiteColor]]; 
[self.view addSubview: webView]; 
[webview release], webview = nil; 
} 

全体的に見ると、このアプローチは脆弱ではありません。

PS。 UIWebViewを参照している場合は、忘れずに- viewDidUnloadに公開してください。

+0

'-viewDidUnload'でそれを解放すると、過剰にリリースされたWebビューが生成され、おそらく' EXC_BAD_ACCESS'が生成されます。正しい方法は、参照を 'nil'に設定することです。一方、上記のコードでは、 'webview'を' nil'に設定することは無用です:変数はメソッドのスコープの外でとにかく破棄されます。 –

関連する問題