我们使用类似于示例应用中的Google Places API预测.在选择结果时,我们使用以下方法获取预测位置的详细信息:
Places.GeoDataApi.getPlaceById(mGoogleApiClient, placeId);
Run Code Online (Sandbox Code Playgroud)
这很好用,我的问题是结果只包含一个String作为地址.
使用JS版本的API时,结果包含:
"address_components" : [
{
"long_name" : "522",
"short_name" : "522",
"types" : [ "street_number" ]
},
{
"long_name" : "Overtoom",
"short_name" : "Overtoom",
"types" : [ "route" ]
},
{
"long_name" : "Amsterdam-West",
"short_name" : "Amsterdam-West",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Amsterdam",
"short_name" : "Amsterdam",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Amsterdam",
"short_name" : "Amsterdam",
"types" : [ "administrative_area_level_2", "political" ] …Run Code Online (Sandbox Code Playgroud) 如何在stackView位于scrollview中时UIStackView重新分配它的sub UITableViews?
我的布局层次结构基于Apple关于StackViews动态内容的官方文档
- UISCrollView
- UIStackView
- UIView A
- UIView B
- UIView C
- UITableView X
- UITableView Y
- UIView D
Run Code Online (Sandbox Code Playgroud)
约束按文档设置.StackView的初始布局是正确的,显示所有可见的子视图.当强制常规视图扩展到屏幕高度以外时,滚动按预期工作.此外,在故事板中查看布局时,所有内容都按预期堆叠.
此时UITableViews是空的.一旦我向tableView添加内容,就会出现问题.
问题
当我通过调用.reloadData()它们来动态更新TableView时,我看到它们的内容出现了.(感谢关于非滚动tableViews的这个答案)但是UIStackView没有堆叠UITableViews.
UIView D 堆放在下面 UIView CUITableView X并且UITableView Y还堆放在下面UIView B我的猜测是我需要使stackview无效,或以某种方式让它重新分配它的子视图.我怎样才能做到这一点?
我想在 swift for iOS 中使用复数 stringdict 翻译这个字符串
由于这个问题,使用没有占位符的简单复数有效 但是当我添加一个字符串占位符时,我在访问它时崩溃了。
该规则复数正在使用下面的XML:
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@format@</string>
<key>format</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>li</string>
<key>one</key>
<string>Sleeps at your place</string>
<key>other</key>
<string>Sleep at your place</string>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
并使用这个 swift 代码来引用上面没有字符串占位符的复数:
let format = NSLocalizedString("key_to_plural_above", comment: "")
let label = String.localizedStringWithFormat(format, kidsIds.count)
Run Code Online (Sandbox Code Playgroud)
问题是当我向翻译添加字符串占位符时,当我尝试阅读它时会崩溃。下面的 xml 是由翻译工具 ( lokalise )生成的,所以我认为它是正确的。
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@format@</string>
<key>format</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>li</string>
<key>one</key>
<string>Sleeps at %1$@</string>
<key>other</key>
<string>Sleep at %1$@</string> …Run Code Online (Sandbox Code Playgroud) 我有一个开放数小时的应用程序,并使用附加了前台通知的后台服务。每隔一段时间播放一次声音使用:
try {
Ringtone r = RingtoneManager.getRingtone(context, uri);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
声音正在工作,但过了一会儿,声音不再播放了。
没有错误,没有警告,没有崩溃。就是没有声音。
我的用户也在抱怨,所以它看起来不像是特定于设备的问题。
Android Docs没有提及任何关于此的内容。有谁知道这是为什么?
对于我的Android应用程序,我正在寻找一种检测客户端连接状态的优雅方式.服务器需要知道客户端是在线还是离线.
我读过这个答案,
...服务器应该在一段时间间隔后发送ping到设备,设备应该回复.如果设备未回复,则表示用户处于离线状态...
但我觉得持续的ping是蹩脚的,而且客户端和服务器端的资源都相当沉重.是否有更优雅,最好是事件驱动的方法来检测客户端是否处于脱机状态?
虽然我的情况适用于Android中的Android和Google App Engine,但我计划扩展到Web和ios客户端,因此首选依赖解决方案的平台.
更新: 同样的答案也提到套接字连接:
...基本上你需要创建与服务器的套接字连接并交换ping
据我所知,与服务器保持套接字连接总是适合多人游戏,但它是否适合永远开启,但只是偶尔发送/接收服务等数据?
android ×3
ios ×2
offline ×1
plural ×1
ringtone ×1
server ×1
server-side ×1
swift ×1
swift2 ×1
translation ×1
uistackview ×1
uitableview ×1