あなたの例を試してみましたが、UIWebView で正常に動作します。HTML / CSS をどのようにロードするのかわかりません。CSS が正しく読み込まれていることを確認してください。UIWebView のフレームを設定しましたか?
これが私のために働くコードです。UIWebのフレームは、モーダルで表示するとおっしゃっていたので、画面サイズよりも小さく設定しました。
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *htmlString = @"<html><head><style type='text/css'>html,body {margin: 0;padding: 0;width: 100%;height: 100%;}html {display: table;}body {display: table-cell;vertical-align: middle;padding: 20px;text-align: center;-webkit-text-size-adjust: none;}</style></head><body><p><strong>Title</strong></p><p>A long explanation about what's going on and all that.</p><p><a href='#'>A link</a></p></body></html>";
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10.0, 10.0, 300.0, 400.0)];
[self.view addSubview:webView];
[webView loadHTMLString:htmlString baseURL:nil];
[webView release];
}