这可能听起来很傻但是当我在Xcode中使用尺寸时,总框架尺寸等于320*568(宽*高).我很好.但手机的分辨率实际上是不同的.iphone 4S是640*960,5和下一代是640*1136.
我知道最后一个是xcode用作单位的两倍,所以我的问题是:
XCode使用什么单位测量?如果是像素,为什么不使用手机尺寸/分辨率作为参考?
现在我正在使用这段代码:
public static bool ContainsEmoji(this string text)
{
Regex rgx = new Regex(@"\p{Cs}");
return rgx.IsMatch(text);
}
Run Code Online (Sandbox Code Playgroud)
它有点帮助.
他们中的大多数似乎被发现,但有些则没有.
以下是帮助的参考列表:http://unicode.org/emoji/charts/full-emoji-list.html
所有的笑脸似乎都很好,但这些特定的表情符号并没有被正则表达式所抓住:
1920 U +2614☔雨伞下雨
1921年U +26F1⛱伞在地上
1922年U +26A1⚡高压
1923年U + 2744❄雪花
在键盘上这些并不是彼此靠近,但在列表中它们是相互跟随的,所以我只是假设有一个点它将开始不在表情符号列表中工作,并且它不是真正的验证.从1905年(天气般的表情符号),下降,一些被捕获在正则表达式,一些不是.似乎没有任何规则.
我不能只是去全ASCII,因为我需要人们输入像西里尔字母这样的字符,但我不能特别接受表情符号.我不知道如何从这里前进.
我阅读了关于代理高/低对的MSDN文档,但在这个阶段这对我来说非常混乱,我认为一些正确的方向推进将会有很长的路要走.
非常感谢您的宝贵时间 :)
我需要有一种方法来识别我的应用程序的用户,但没有登录系统.
我查看了UUID,它给了我一些问题的答案,但由于它不是真正的UDID,它不是"非常独特":如果用户重新安装应用程序,他会得到一个新的UUID,这可以'为我工作.
有没有办法可以获得设备序列号或类似的独特之处?我可以从设备获得的任何类型,而无需用户填写任何字段.
我正在尝试实现以下布局。如果是列表,则这是顶部单元格。
现在我设法得到以下结果,使用以下代码
Row(
children: <Widget>[
Expanded(
child:
Center(
heightFactor: 3.5,
child:
Text("PLAY QUEUE",
),
),
),
Padding(
padding: EdgeInsets.fromLTRB(0,0,15.0,0),
child:
Align(
child:
Text("CLEAR"),
alignment: Alignment.centerRight,
),
),
],
),
Run Code Online (Sandbox Code Playgroud)
您可能已经注意到,“PLAY QUEUE”偏离中心,这是正常的,因为它以剩余空间为中心,而“CLEAR”则占据该空间。
因此,将它居中只是从该布局中删除 CLEAR 标签的问题,但是如果我这样做了,我该如何显示它?
查看文档,我应该非常接近解决方案。但它们并没有将标题行居中(第 1 步,查看标题部分上的红色方块),因此显然不完全相同。
我不确定我现在应该针对什么布局。是否可以重叠小部件?所以我可以简单地居中并完全展开播放队列,然后用清除按钮在右侧重叠。
注意:我不想在播放队列标签上写任意的左填充。
编辑:感谢我从答案中得到的帮助,我现在使用以下代码获得了正确的结果:
Stack(
fit: StackFit.passthrough,
children: <Widget>[
Center(
heightFactor: 3.5,
child:
Text(title,
style: Theme.of(context).textTheme.title.copyWith(color: textColor),
),
),
Positioned.directional(
textDirection: TextDirection.rtl,
start: 30,
top: 22,
child:
Text("CLEAR"),
),
],
),
Run Code Online (Sandbox Code Playgroud)
困扰我的是我无法垂直对齐,我手动编写了任意偏移量,我认为这不是正确的方法。
出于某种原因,我不能只放一个 Center() 或类似的东西。这是应该如何做还是可以改进?
编辑 2:
我现在alignment: FractionalOffset.center,在Stack() …
这就是我们所拥有的:
数据库中的用户,包括 phone_number 字段。当用户创建他们的帐户时,他们必须输入他们的电话号码。我们可以要求特定的格式,我们这样做:
+ [countrycode] [phone number]
Run Code Online (Sandbox Code Playgroud)
用户选择国家代码并添加所需的号码。我们当然假设他输入正确。
现在他在数据库中,我们正在尝试将 OTHER 用户与我们在他的联系人中找到的号码进行匹配。这是我们有问题的地方:
他可以用不同的数字格式(国内、国际、带+、不带+)保存他的联系人。我将以比利时数字为例来说明我的观点:
+32 495 12 34 56 (international)
0032 495 12 34 56 (international)
0 495 12 34 56 (national)
Run Code Online (Sandbox Code Playgroud)
我猜大多数用户会用国家格式保存他们的联系人,这就是问题所在。
我们的应用程序需要具有国际格式,我们需要将数据库中的用户与联系人进行比较(这是我们“传播应用程序”计划的一部分),让用户选择是否可以邀请联系人。我们不想向没有应用程序的人展示(除其他外)。
How can I know if the phone number is formatted internationnaly or nationally, and either way, how can I transform it to be international?
Run Code Online (Sandbox Code Playgroud)
如果有 + 我可以假设它的格式正确,所以我没有问题。如果没有,我能做什么?我想过这个,但我什至不确定:
也许获取世界上所有的数字格式,然后使用非常长的 switch 语句将其转换为正确的国际格式?我怀疑这是正确的答案。
无论如何,任何线索/建议/解决方案显然都是最受欢迎的!
注意:我正在使用 Parse.com 来存储数据,如果这有帮助的话。
algorithm formatting internationalization phone-number parse-platform
我需要为每个单元测试都有一个登录用户,这迫使我在测试中进行异步调用(登录)SetUp.
我无法找到使这项工作的方法,我要么得到空指针异常,要么设置无效签名.
public async void SetUp() {}
Run Code Online (Sandbox Code Playgroud)
这使我的所有测试都失败了我的对象可能是因为我没有登录.
public async Task SetUp() {}
Run Code Online (Sandbox Code Playgroud)
使我的所有测试都被忽略,因为安装程序的签名无效.
而且我不想在每次测试中复制我的X行设置,因为它们都完全相同,而且......这就是设置的目的.
我错过了什么?这似乎是一个微不足道的问题.
这是我现在所拥有的,为了展示一些东西
CreateTicketViewModel _viewModel;
[SetUp()]
public async void SetUp() //I have tried using Task instead of void
{
IUserService userService = Dependency.Instance.Resolve<IUserService>();
await userService.LoginAsync(this.UserName, this.Password);
_viewModel = Dependency.Instance.Resolve<CreateTicketViewModel>();
}
[TearDown()]
public void TearDown()
{
_viewModel = null; // I have tried removing this
}
[Test()]
public void Initialization()
{
// If I put what's in SetUp here and add "async" before void,
// …Run Code Online (Sandbox Code Playgroud) 我有两个选项卡UITabBarController,两个都是UINavigationControllers.问题是初始化NavigationService需要一个UINavigationControlleras参数.我想要找到一种方法,以root身份使用导航控制器选项卡,或者找到一种方法将选项卡控制器作为root用户.
我最终有三个选择:
1.
/-> Ctrl 1 -> ctrl 2
Nav -> Tab -
\-> Ctrl 1 -> ctrl 2
Run Code Online (Sandbox Code Playgroud)
此选项有效,但使用另一个控制器时标签栏会丢失NavigateTo().这不是解决方案,我确实需要各处的标签.
2.
/-> Nav -> Ctrl 1 -> ctrl 2
Tab -
\-> Nav -> Ctrl 1 -> ctrl 2
Run Code Online (Sandbox Code Playgroud)
这根本不起作用,因为SimpleIoc只需要a UINavigationController,并导致崩溃.显然,这根本不是解决方案.
3.
Navigate using segue or pushing controllers manually, the 'classic' way.
Run Code Online (Sandbox Code Playgroud)
这完全违背了使用MVVM-Light的目的,这也不是解决方案.
我在Stack Overflow上看到了另一篇文章,他最终选择了选项3.我希望在这里找到别的东西.
任何人都对这个可能的解决方案有任何想法吗?或者我是SOL?
我在列表视图中显示了一个自定义单元格。它不应该工作,但我担心它有效,我不明白为什么。
让我为您安排一下,因为它有点复杂。
基本上,我在顶部显示一个带有搜索字段的联系人列表。我还有其他各种要显示的内容超出了这个问题的范围,但为了清楚起见,您将在整个代码中看到它们,特别是在 xaml 和数据模板选择器中。
我使用不同类型的自定义单元格来显示我的联系人列表的每个部分(有一个标题单元格、一个搜索单元格等等)。
在这里,ContactsPage持有列表视图和数据模板的声明。
<ContentPage>
<ContentPage.Resources>
<ResourceDictionary>
<DataTemplate x:Key="HeaderTemplate">
<ViewCell>
<StackLayout>
<local:HeaderView/>
</StackLayout>
</ViewCell>
</DataTemplate>
<DataTemplate x:Key="SearchTemplate">
<local:SearchCell/> //<=== Important
</DataTemplate>
<DataTemplate x:Key="CategoryTemplate">
<ViewCell
x:Name="CategoryCell">
<Label
Text="CategoryCell" ></Label>
</ViewCell>
</DataTemplate>
<DataTemplate x:Key="SelectionTemplate">
<ViewCell
x:Name="SelectionCell">
<Label
Text="Selection Cell" ></Label>
</ViewCell>
</DataTemplate>
<DataTemplate x:Key="ContactTemplate">
<ViewCell
x:Name="ContactCell">
<Label
Text="{Binding FirstName}" ></Label>
</ViewCell>
</DataTemplate>
<local:ContactDataTemplateSelector x:Key="TemplateSelector"
HeaderTemplate="{StaticResource HeaderTemplate}"
SearchTemplate="{StaticResource SearchTemplate}"
CategoryTemplate="{StaticResource CategoryTemplate}"
SelectionTemplate="{StaticResource SelectionTemplate}"
ContactTemplate="{StaticResource ContactTemplate}"/>
</ResourceDictionary>
</ContentPage.Resources>
Run Code Online (Sandbox Code Playgroud)
你看我有各种数据模板,每个模板都有自己的用途。Header 正在工作,其余的正在进行中,我唯一关心的是Search 的实现。从单元格到视图模型,再到数据模板。
现在这只是资源,这是实际的页面 UI(仅相关代码) …
我想知道是否有一种使用parse.com服务向用户发送静默推送通知的好方法.
通过"沉默",我的意思是如果用户在应用程序中没有实际通知(如果用户不在应用程序中,我将发送正常通知),没有"警报"消息,没有任何内容.只是一个离散的函数调用.
当用户在应用程序中时,我需要这个来执行一些代码.
我在文档中读过我可以使用cloudcode但是
我应该使用obj-C代码吗?云代码?你能提供一个小例子吗?(我真的只需要在我的代码中默默地调用"刷新"功能,没什么特别的)
非常感谢 :)
根据我的理解(这可能是完全错误的,因此这篇文章没有意义),我需要在我的开发人员门户中为我的Watch app/extension创建单独的APP Id.
我做到了,现在我有3个应用程序ID和完整相关的配置文件集,并且正在运行.
存档工作正常,我即将提交,但我看到,因为有一个应用程序ID,我可以链接一个PUSH证书(apn).由于Apple Watch并未真正得到通知,但手机确实如此,我是否真的需要为Apple Watch创建特定证书?并使用他们相关的.p12,无论我需要它们(例如parse.com)?
或者我可以简单地忽略它并保留常规电话证书?
谢谢
ios ×4
c# ×3
algorithm ×1
apn ×1
apple-watch ×1
async-await ×1
asynchronous ×1
binding ×1
centering ×1
certificate ×1
char ×1
data-binding ×1
emoji ×1
flutter ×1
formatting ×1
frame ×1
login ×1
mvvm ×1
nunit ×1
phone-number ×1
regex ×1
silent ×1
string ×1
udid ×1
unit-testing ×1
uuid ×1
xamarin ×1
xcode ×1