我有一个iOS应用程序(和一个网站).应该有高级用户选项,即如果用户是高级用户,则用户可以访问特殊内容.用户可以每月或每年成为高级用户.
第一个问题 - Apple是否允许设施在网站上以及通过InAppPurchase提供相同的产品(遵循Apple的规则 - 应用程序中不会有任何链接或指示可以在网站).因此,如果用户通过InAppPurchase购买高级帐户,他/她可以登录网站以及高级用户,反之亦然.
如果允许,使用可消费类型的产品实现高级用户功能并让服务器管理所有内容或使用不可更新的订阅更好吗?
耗材方法执行InAppPurchase,然后向服务器发送请求,说当前用户是一个月/年的高级用户,然后每次应用启动/用户登录时,调用API检查当前用户是否为高级用户用户与否.
要处理的棘手案例是1.当用户正在使用应用程序时,他/她的高级用户状态到期.2.如果在InAppPurchase完成后网络中断,并且对服务器的请求不完整.
不可更新的订阅方式我不确定这是如何工作的,但我猜它会与消费类似.
这两种方法中的哪一种更适合恢复以前的交易?
我有以下代码用于堆叠元素和将光标放在elemnt上,该元素位于顶部.这是代码..由于某种原因它不起作用.显示段落,但在将鼠标移到它们上时没有任何反应.
<html>
<head>
<title>Stacking</title>
</script>
<style type="text/css">
.layer1Style
{
position: absolute;
top:50pt;
left:50pt;
background-color:red;
z-index:0;
}
.layer2Style
{
position: absolute;
top:75pt;
left:75pt;
background-color:green;
z-index:0;
}
.layer3Style
{
position: absolute;
top:100pt;
left:100pt;
background-color:blue;
z-index:10;
}
</style>
<script type="text/javascript">
var top="layer3";
function mover(newTop)
{
var oldTopStyle=document.getElementById(top).style;
var newTopStyle=document.getElementById(newTop).style;
oldTopStyle.z-index="0";
newTopStyle.z-index="10";
top=document.getElementById(top).id;
}
</script>
</head>
<body>
<div class="layer1Style" id="layer1" onmouseover="mover('layer1')">
<p>This is my first paragraph</p>
</div>
<div class="layer2Style" id="layer2" onmouseover="mover('layer2')">
<p>This is my second paragraph</p>
</div>
<div class="layer3Style" id="layer3" onmouseover="mover('layer3')">
<p>This is my …
Run Code Online (Sandbox Code Playgroud) 我创建了一个子视图并实现了自定义绘图的drawRect:方法.如何实现类似于UILabel的行为,如果文本太长而无法放入框架中,则会自动添加省略号(...).
这是代码
- (void)drawRect:(CGRect)rect
{
NSDictionary *attributes = @{NSFontAttributeName : [UIFont systemFontOfSize:16.0f], NSForegroundColorAttributeName : [UIColor blackColor]};
[self.sampleText drawInRect:CGRectMake(10.0f, 10.0f, self.frame.size.width - 20.0f, self.frame.size.height - 20.0f) withAttributes:attributes];
}
Run Code Online (Sandbox Code Playgroud)
如果sampleText很长,那么它只会被剪裁以适合指定的rect.如何正确添加"..."?