我试图用CoreGraphics绘制一些文本.遗憾的是,没有方法可以返回文本的宽度.我尝试使用此方法获取宽度:
private float GetTextWidth(CGContext context, string text)
{
float startWidth,
endWidth,
textWidth;
startWidth = context.TextPosition.X;
context.SetTextDrawingMode(CGTextDrawingMode.Invisible);
context.ShowText(text);
endWidth = context.TextPosition.X;
textWidth = endWidth - startWidth;
return textWidth;
}
Run Code Online (Sandbox Code Playgroud)
但如果我想要一个多行文字,我还需要考虑字体.所以我考虑使用UILable并从中获取值,执行以下操作:
RectangleF lableRect = new RectangleF((float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height);
UILabel lable = new UILabel(lableRect){
Font = UIFont.FromName(font.Family.ToString(), (float)font.Size),
Text = text,
};
SizeF uiSize = lable.StringSize(lable.Text, lable.Font);
Run Code Online (Sandbox Code Playgroud)
虽然高度似乎没问题,但宽度不正确.知道为什么吗?
我从这个google api服务获得json响应,从lat和long获得反向地理位置.
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true
在响应JSON中有很多相同名称的rack [].我如何用newtonsoft解析这个JSON来获取国家名称.
我是Windows 7应用程序开发的新手.我没有得到如何从主xaml屏幕加载新的xaml屏幕说按钮的onclick.有人可以帮助我吗?
我们开发了一个.NET 3.5 CF应用程序,由于未处理的异常,我们遇到了一些应用程序崩溃,在一些lib代码中抛出.
应用程序终止,并显示标准应用程序弹出异常消息框.
有没有办法捕获所有未处理的异常?或者至少,从消息框中捕获文本.我们的大多数客户只是重启设备,因此我们无法查看异常消息框.
有任何想法吗?
我经常在项目构建期间遇到问题,其中Resource.Designer生成但不再编译.我的搜索引擎显示我不是唯一有这个问题的人,但我也没有找到任何可靠的"修复".
例如,现在我有一个工作正常的项目,但是如果我添加对NuGet库(我创建的)的引用,那么应用程序将不再编译,因为Resource.Designer.cs中存在大量错误.
在另一个项目中,我只是升级了Xamarin Forms,现在我再也无法编译了,因为Resource.Designer.cs中出现了大量错误.
当然,最直接的问题是"如何修复这些项目中的错误",但实际上我想了解这里的基本内容.是什么导致Resource.Designer生成和重新生成?使用什么算法来决定将哪些项目放入该文件?为什么我们经常最终得到一个生成的文件然后无法实际编译?为什么没有获得这些项目所需的参考?
我真的很想从根本上理解这一点,这样一旦我越过当前的事情让我头痛,我可以在将来再次出现时避免它(我肯定会再次出现).
.net-cf-3.5 ×1
aapt ×1
android ×1
c# ×1
iphone ×1
json ×1
json.net ×1
uilabel ×1
windows-ce ×1
xamarin ×1
xamarin.ios ×1