我想在我的应用程序中创建以下 UIView。请给出建议...我可以分别创建 UITextView 和 UIImageView 。但在该图像中,文本放置在图像下方。如何创建这种类型的 UI。请指导我..!
谢谢大家
一个可能的解决方案是使用 Webview 将文本显示为 html 并在右侧嵌入正确放置的图像。
如果您想UIImageView
单独使用(出于其他原因,例如 - 使用手势识别器或简单的图像更新) - 那么您可以创建一个空的浮动空间,并将 imageview 作为子视图添加到 webview。
例如:
[webView loadHTMLString:
[NSString stringWithFormat:"<style type=\"text/css\"><font face=\"Helvetica\" color=\"white\">"
"<style> #buttons {float: right; width: 150px; height:100px;}</style>"
"<div style=\"float:right;5px;top:1px;display:inline-table; position:relative; "
"width: 150px; height: 100px;\"><div style=\"float:right;right:170px;top:4px;display:inline-table; "
"position:relative; left:-8px; color: #fff; font-size: 13px;\"><p></p></div></p></div>"
"%@</font><div></body>", @"text that will show up around image" baseURL:nil];
将用文本(@“将显示在图像周围的文本”)填充 webview 并为 UIImageView 留一个空白空间。
您有 2 个选项:
1) 使用 UIWebView。这将允许您轻松实现这一点,但您可能会遇到自动旋转问题,因为 UIWebView 会在您使其框架变大时自动缩放您的文本(当您移动到横向时您会这样做)。
2) 或者您可以放置 2 个文本视图 - 其中一个位于图片左侧,另一个位于图片下方。为了计算第一个 textView 中适合的字符串以及为第二个 textView 留下的字符串,您应该查看this。
我最近尝试了第二种方法,虽然这些方法有一个小错误(不关心单词,它按字符分割单词),但结果非常好。
如果它是应该围绕图像流动的同一段文本,您可以使用 CoreText 创建自定义形状的 TextView。当我自己尝试类似的事情时,我发现这个 StackOverflow 帖子是一个很好的起点:https ://stackoverflow.com/a/5284707/785716