想象一下,你有一个完全正常的四点贝塞尔曲线(两点和两个控制点)使用curveToPoint创建:controlPoint1:controlPoint2:在你的cocoa应用程序中:
你如何沿曲线找到点(和切线)?
后来:对于基于Michal的答案的完整,简化的解决方案,请点击:
找到立方贝塞尔曲线上的点的切线(在iPhone上)
只需复制并粘贴代码:https://stackoverflow.com/a/31317254/294884
在现代Unity3D中,我们使用IPointerDownHandler系列调用.
关于IPointerDownHandler电话的家庭,
public class FingerMove:MonoBehaviour, IPointerDownHandler...
{
public void OnPointerDown (PointerEventData data)
{
Run Code Online (Sandbox Code Playgroud)
当然,他们太棒了
但是你如何以严肃的方式处理多种接触?
你可以"自己动手"跟踪自己的触摸,但看起来令人难以置信的Unity会希望你做那些绝对基本的事情.(我的意思是 - 它是一个游戏引擎.当然,我也可以编写我自己的渲染和物理!)
这是一个基本上"牛仔编程"的例子,只是手工完成而没有软件工程.什么是真正的解决方案?
//
// example of programming a pinch (as well as swipes) using modern Unity
//
// here we are forced to track "by hand" in your own code
// how many fingers are down and which
// fingers belong to you etc etc:
//
// pedagogic example code:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems; …Run Code Online (Sandbox Code Playgroud) 我正试图做这种事情..
static var recycle: [Type: [CellThing]] = []
Run Code Online (Sandbox Code Playgroud)
但是 - 我不能:)
未声明的类型'类型'
在这个例子中,CellThing是我的基类,所以A:CellThing,B:CellThing,C:CellThing等等.我的想法是将各种AAA,BB,CCCC存储在字典数组中.
如何制作一个"类型"(理想情况下我猜,限制在CellThing)是Swift字典中的关键?
我很欣赏我可能(也许?)使用String(describing: T.self),但这会让我失眠.
这是一个用例,设想的代码看起来像这样......
@discardableResult class func make(...)->Self {
return makeHelper(...)
}
private class func makeHelper<T: CellThing>(...)->T {
let c = instantiateViewController(...) as! T
return c
}
Run Code Online (Sandbox Code Playgroud)
那么就像......
static var recycle: [Type: [CellThing]] = []
private class func makeHelper<T: CellThing>(...)->T {
let c = instantiateViewController(...) as! T
let t = type whatever of c (so, …Run Code Online (Sandbox Code Playgroud) 说我有一个UIView,
class CleverView: UIView
Run Code Online (Sandbox Code Playgroud)
在自定义类中,我想这样做:
func changeWidth() {
let c = ... find my own layout constraint, for "width"
c.constant = 70 * Gameinfo.ImportanceOfEnemyFactor
}
Run Code Online (Sandbox Code Playgroud)
同样地,我希望能够像这样"找到",约束(或者我猜,所有约束,可能有不止一个)附加到四个边缘之一.
因此,要查看附加到我身上的所有约束,并找到任何宽度/高度,或者确实与给定(例如,"左")边缘相关的任何约束.
有任何想法吗?
也许值得注意这个问题
请注意(显然)我问如何动态/编程地执行此操作.
(是的,你可以说"链接到约束"或"使用ID" - 质量保证的重点是如何动态地找到它们并动态地工作.)
如果您不熟悉约束,请注意.constraints只是为您提供存储在那里的结尾.
我到目前为止在线阅读,检测用户是否取消了应用内购买的唯一方法是使用我从用户的iPhone获取的收据数据,并检查该项目中是否存在cancellation_date,但据我所知,此字段仅在自动续订订阅项目上找到.
(至少我在网上看到的每篇帖子都是我发现在应用程序购买中谈论的,根本没有提到消耗品.)
因为它们总是存储在收据数据中,而消耗品存储在收据数据中,直到应用程序本身完成交易,一旦完成,该项目的购买交易将在完成处理后从收据数据中永久消失. iPhone.
所以我的问题是,如果用户要求取消从Apple购买的应用程序,这是一个消耗品,我是否也在收据数据中取回同一项目交易,其中包含cancellation_date字段?
我从未见过有人证实这一点.
如果有人可以在其中提供带有cancellation_date示例的receipt-data base64字符串,那将是很好的(如果这样做是合法的).
我的代码是:
public Bitmap loadPhoto(Uri uri) {
Bitmap scaled = null;
try {
scalled = Bitmap.createBitmap(
MediaStore.Images.Media.getBitmap(getContentResolver(), uri),
0,0,90, 90);
if (scaled == null) { return null; }
} catch(Exception e) { }
return scaled;
}
Run Code Online (Sandbox Code Playgroud)
在这之后.我在ImageView中显示缩放.每张图片都来自设备相机.
每次,我都会收到错误:我从相机显示三张照片后内存不足.怎么解决这个?
如果你有一个Uri并且你需要它Bitmap,理论上你可以做到这一点
Bitmap troublinglyLargeBmp =
MediaStore.Images.Media.getBitmap(
State.mainActivity.getContentResolver(), theUri );
Run Code Online (Sandbox Code Playgroud)
但它每次都会崩溃,
所以你这样做.........
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
AssetFileDescriptor fileDescriptor =null;
fileDescriptor =
State.mainActivity.getContentResolver().openAssetFileDescriptor( theUri, "r");
Bitmap actuallyUsableBitmap
= BitmapFactory.decodeFileDescriptor(
fileDescriptor.getFileDescriptor(), null, options);
Utils.Log("'4-sample' method bitmap ... "
+actuallyUsableBitmap.getWidth() +" "
+actuallyUsableBitmap.getHeight() );
Run Code Online (Sandbox Code Playgroud)
这太棒了,是工作的解决方案.
请注意,在当前条件下(2014年),典型的相机尺寸等,"四"因子往往效果很好.但是,最好在Uri上猜测或准确了解图像数据的大小,然后使用它信息,智能地选择那个因素.
简而言之,如何在加载Uri时正确选择该比例因子?
Android专家,这是一个众所周知的问题,有没有解决方案?感谢您的iOS-> Android好友!:)
"更新帧"调用通常在Xcode中显示为灰色
我知道更新帧以匹配您的约束的唯一方法是,繁琐地选择最高级别的视图,并且(有时)您可以在菜单栏中捕获"选定视图" - >"更新帧".此外,"所有视图" - >"更新框架"似乎通常根本无法工作或以我无法理解的方式工作.
当然只有一个按键或按钮可以直接更新所有帧以匹配任何新输入的约束(例如使用control-drag进行的约束).
当然有人对此有一些想法.一个人在Xcode中不断使用它!赏金!
注意..对于2016年,您可以使用这个非常方便的按钮,通过在菜单栏菜单中搜索,至少可以显示相同的子菜单.
然而,看起来(参见下面的ZaBlanc的评论)可能实际上存在Xcode错误,并且您无法为"所有视图"项目分配击键.(你经常使用的那些.)
他们似乎已经删除了'更新框架'选项 ... WTH
假设你上传了build 1192 ......
等了一段时间后,你收到了电子邮件....
只有这样你才能在itunesconnect.apple.com网站上看到以下内容......
然后,您可以最后单击"将组添加到此构建",最后单击"提交以供审阅".
从而,
有没有办法 - 除了看电子邮件 - 自动"知道它已经完成处理"?例如,Apple会发送有关API版本的信息吗?或者电子邮件实际上是唯一的知道方式?
如果不是,是否有任何现有系统要么劫持您的电子邮件,要么可能会轮询服务器/ API /等等,以了解"处理完成"的时间?
再一次,这里的具体问题是......
我正在为TestFlight beta审核提交我的第一个版本,在创建一个群组后,添加了4个团队成员添加我的版本,取消选中此框以表示我需要登录信息来测试应用,我点击"提交审核".
iTunes Connect顶部的状态仍为"准备提交".
我在这里做错了什么,或者是Apple的问题?所有适当的文档和测试信息也已填写.
谢谢
Apple终于承认存在问题:
https://developer.apple.com/system-status/
1 - 许多团队报告问题已在一夜之间解决.
2 - 但是FWIW状态板仍然表示存在问题.