本地化适用于除英语以外的其他语言.每次我编译我的应用程序时,我都会看到键名而不是本地化字符串.例:
NSLocalizedString(@"WelcomeKey", @"")
Run Code Online (Sandbox Code Playgroud)
在Localizable.strings中我有相应的条目:
"WelcomeKey" = "Welcome";
Run Code Online (Sandbox Code Playgroud)
在模拟器中,我总是得到键名WelcomeKey而不是Welcome.在设备上,这是完美的.在模拟器中没有!
我还发现我的EN Localizable.strings文件充满了"???????" 符号.所以我输入旧值并将其保存在Xcode中.我还手动添加了一个条目而不是使用genstrings.在模拟器中,第二语言也很完美.只有英语似乎有问题.也许我删除了English.lproj并创建了一个EN.lproj文件夹?
我试过了:
我错过了什么?我认为模拟器讨厌英语......
编辑:
所以我试着在另一台Mac上编译这个应用程序.它在模拟器中没有问题!所以无论是Xcode中的设置还是缓存问题.
我想为我的应用创建一个启动图像.在HIG声明:
对于iPhone和iPod touch,创建包含以下尺寸的状态栏区域的启动图像:
- 320 x 480像素
- 640 x 960像素(高分辨率)
我试图在iPhone模拟器中截取我的应用程序.但这里的状态栏在屏幕上,包括信号强度,载波,时间和电池寿命.所以有两种可能性:
有没有办法隐藏iPhone模拟器中状态栏中的信息?我应该省下这里谈到的状态栏吗?
解:
似乎所有三个答案都是对的.以下是解决方案:
提供尺寸为320x480/640x960的图像,带或不带状态栏
裁剪图像(没有状态栏).图像的大小为320x460和640x920.
为了符合HIG,我会选择选项号.1
我想从数组中选择一些对象.因此我正在使用我选择的开始和结束索引.
NSLog(@"start:%d\nend:%d", startIndex, endIndex);
NSIndexSet *myIndexes = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(startIndex, endIndex)];
NSLog(@"%d", [myIndexes lastIndex]);
Run Code Online (Sandbox Code Playgroud)
第一个NSLog给了我
startIndex:49
endIndex:67
第二个NSLog给了我
115
为什么我的115号码数量最多?它应该是67.当然应用程序崩溃:
由于未捕获的异常'NSRangeException'而终止应用程序,原因:' * - [NSArray objectsAtIndexes:]:索引115超出边界[0 .. 96]'
我做错了什么?
我有一个MySQL 5服务器和一个表,在id字段(主键)上有一个自动增量.现在我想在两者之间添加一条记录,所以我必须将所有其他ID增加一个.这是我试过的:
UPDATE myTable SET id=id+1 WHERE id >= 53
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为例如id = 52的记录已经存在.我怎样才能做到这一点?如果他从最后一个条目开始并进行更新,我认为应该可行.但是怎么样?
我有一个Weblication,它只向某些用户提供对某些页面的访问权限.现在这些页面上链接了一些文件.如果有人拥有该URL,则每个人都可以访问这些文件(在本例中为搜索引擎).这应该改变!我该如何保护这样的目录?我想到了两个可能性:
还有其他可能性吗?
我想在a上显示一个大图像,UIWebView以便用户在看到这个屏幕时看到完整的图像.webview应采用这样的比例,即它占据图像的整个宽度并根据可用的屏幕宽度进行调整(图像的比例宽度/高度应保持不变).所以webview必须缩小.
因此我使用了这个scalesPageToFit属性.图像大约为3900x2613,但您也可以使用其他大图像.有趣的是,用户无法手动完全缩小以查看整个图像.
现在我做了一个测试项目并尝试了不同的解决方案来加载图像(本地,Web资源,NSData,......).现在我在C#中为您提供一些示例代码.
本地:
webView = new UIWebView (View.Bounds);
View.AddSubview (webView);
string filePath = NSBundle.MainBundle.PathForResource ("sample", "jpg");
NSUrl fileURL = new NSUrl (filePath);
webView.LoadRequest (new NSUrlRequest (fileURL));
webView.ScalesPageToFit = true;
Run Code Online (Sandbox Code Playgroud)
或者来自网络资源:
webView = new UIWebView (View.Bounds);
webView.ScalesPageToFit = true;
View.AddSubview (webView);
webView.LoadRequest (new NSUrlRequest (new NSUrl("http://www.libpng.org/pub/png/img_png/16million-pschmidt.png")));
Run Code Online (Sandbox Code Playgroud)
或者使用本地图像和HTML:
webView = new UIWebView ();
webView.TranslatesAutoresizingMaskIntoConstraints = false;
webView.ScalesPageToFit = true;
View.AddSubview (webView);
NSMutableDictionary viewsDictionary = new NSMutableDictionary ();
viewsDictionary ["webView"] = webView;
View.AddConstraints (NSLayoutConstraint.FromVisualFormat ("H:|[webView]|", (NSLayoutFormatOptions)0, …Run Code Online (Sandbox Code Playgroud) 我用于TimePicker在我的应用程序中显示时间。当时间已设置时,它会正确显示,但当时间未设置时,则显示默认 12 : 00 AM 时间。所以我只想null在未设置时间时显示值。是否可以在 Xamarin Forms 中设置nullable值TimePicker?
我有一个“主详细信息”页面,我想在导航栏中设置图标以显示菜单。因此,我将图像放入资产目录中(资产目录 > 媒体 > 菜单)。如果我想从 XAML 引用该图像,当图像位于资产目录中时,它不会显示。
我尝试了不同的路径,但它们都不起作用。调试也不显示任何图像。Xamarin.Forms 似乎不支持资产目录,但事实并非如此。在正常的内容页面上我有这个:
<ContentPage.ToolbarItems>
<ToolbarItem Text="Configuration" Activated="OpenConfiguration" Order="Primary" Priority="0">
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<OnPlatform.iOS>gear.png</OnPlatform.iOS>
<OnPlatform.Android>gear.xml</OnPlatform.Android>
<OnPlatform.WinPhone>Assets/gear.png</OnPlatform.WinPhone>
</OnPlatform>
</ToolbarItem.Icon>
</ToolbarItem>
</ContentPage.ToolbarItems>
Run Code Online (Sandbox Code Playgroud)
这是没有问题的工作。在我的MasterPage(页面,负责显示主详细信息模板中的菜单条目)上,我有以下内容:
<ContentPage.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<OnPlatform.iOS>menu.png</OnPlatform.iOS>
<OnPlatform.Android>menu.xml</OnPlatform.Android>
<OnPlatform.WinPhone>Assets/menu.png</OnPlatform.WinPhone>
</OnPlatform>
</ContentPage.Icon>
Run Code Online (Sandbox Code Playgroud)
基本上,它是相同的代码,但图标不显示。仅当我将图像放入Resources文件夹时才会显示图标...
但是如何在 XAML 中使用资产目录中的图像呢?
UIAlertView如果发生错误,则显示A. 但与此同时UIAlertView,所谓的观点被驳回(因此被释放).如果用户单击确定,则应用程序崩溃,因为已发送到已发布实例的消息.这会导致您的应用崩溃:
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"test" message:@"test" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
[alertView release];
alertView = nil;
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
我以为这UIAlertView是一个独立的单位.但似乎并非如此.有没有办法可以避免应用程序崩溃(除了不解除视图)?
在“检测网络是否可用”Reachability中引入了该类。InternetConnectionStatus()似乎没有做我想做的事。我想检查 WiFi 是否可用,无论 Internet 连接是否可行。不知道是缺少 DNS 服务器还是类似原因。目前,似乎总是测试 Internet 连接。是LocalWifiConnectionStatus()更好的吗?
如何仅检查用户是否登录到 WLAN 连接?
image ×3
iphone ×3
c# ×2
cocoa-touch ×2
ios ×2
objective-c ×2
xamarin ×2
xamarin.ios ×2
.htaccess ×1
apache ×1
database ×1
dismiss ×1
increment ×1
launch ×1
mysql ×1
nsindexset ×1
nsrange ×1
nullable ×1
permissions ×1
php ×1
scale ×1
sql ×1
statusbar ×1
timepicker ×1
uialertview ×1
uiwebview ×1
web ×1
wifi ×1
xaml ×1
xcode ×1
zoom ×1