我试图在Swift中创建CICrossPolynomial过滤器类型.
我不确定如何创建语法来执行此操作.
文档指定了一个CIVector,它有一个浮点数组?
A CIVector object whose display name is RedCoefficients.
Default value: [1 0 0 0 0 0 0 0 0 0] Identity: [1 0 0 0 0 0 0 0 0 0]
Run Code Online (Sandbox Code Playgroud)
但是我该如何宣布这样的CIVector呢?有一个具有此签名的构造函数
CIVector(values: <UnsafePointer<CGFloat>>, count: <UInt>)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试
var floatArr:Array<CGFloat> = [1,0,0,0,0,0,0,0,0]
var vector = CIVector(values: floatArr, count: floatArr.count)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Cannot invoke 'init' with an argument list type (values: @lvaue Array<CGFloat>, count:Int)
Run Code Online (Sandbox Code Playgroud)
你知道如何用一系列CGFloats正确创建一个CIVector吗?
我找到了一个Objective-C代码示例,它可以在这里得到一个像素的颜色: 如何在触摸时获得像素颜色?
我需要帮助的特定代码部分是使用CGColorSpaceCreateDeviceRGB创建上下文的地方:
---这是Objective-C代码
unsigned char pixel[4] = {0};
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(pixel,
1, 1, 8, 4, colorSpace, (CGBitmapInfo)kCGImageAlphaPremultipliedLast);
CGContextTranslateCTM(context, -point.x, -point.y);
Run Code Online (Sandbox Code Playgroud)
我最好的尝试看起来如下(我没有返回任何东西,但我正试图先正确地获取上下文):
---这是我对Swift转换的最佳尝试
func getPixelColorAtPoint()
{
let pixel = UnsafeMutablePointer<CUnsignedChar>.alloc(1)
var colorSpace:CGColorSpaceRef = CGColorSpaceCreateDeviceRGB()
let context = CGBitmapContextCreate(pixel, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4, space: nil, bitmapInfo: CGImageAlphaInfo.PremultipliedLast)
}
Run Code Online (Sandbox Code Playgroud)
但是这给了我一个错误
Cannot convert the expression's type '(UnsafeMutablePointer<CUnsignedChar>, width: IntegerLiteralConvertible, height: IntegerLiteralConvertible, bitsPerComponent: IntegerLiteralConvertible, bytesPerRow: IntegerLiteralConvertible, space: NilLiteralConvertible, bitmapInfo: CGImageAlphaInfo)' to type 'IntegerLiteralConvertible' …Run Code Online (Sandbox Code Playgroud) 我正在加载用户照片卷的照片.
PHImageManager.defaultManager().requestImageForAsset(asset, targetSize:size, contentMode: .AspectFill, options: options)
{
result, info in
//get orientation???
var image:iImage = iImage(uiimage: result)
self.selectedPhotoUpdateCallback(editImage,image)
}
Run Code Online (Sandbox Code Playgroud)
但是,有时我加载的照片是颠倒的.
我似乎无法找到关于这些图像方向的元数据的任何信息.
您知道如何从PHImageManager检查所请求资产的方向吗?
当我从照片卷中选择时,图片会直立显示,但是当我将完整图像加载到另一个视图中时,它会旋转(并且我的代码不会应用任何旋转).
这是不允许的(坏表达)
if !(let nsDictionaryObject = swiftObject as? NSDictionary)
{
"Error could not make NSDictionary in \(self)"
return
}
Run Code Online (Sandbox Code Playgroud)
是否可以在1行中检查可选链表达式的否定值?
我看到其中一个Apple视频提到您可以通过代码为图像着色.关于如何执行此操作的所有搜索都显示为空白.
如果我在Images.xcassets中保存了黑色矢量图像(pdf),我该如何在运行时为该图像着色?
理想情况下它会像[UIImage setVectorColor:UIColorBlue]那样简单,但我相信它还有更多功能!
我正在尝试将图标设置为沿超级视图宽度的 1/3。
但是,当我设置宽度时,它只给我硬值作为选项。
是否可以通过界面构建器将对象的 x 位置设置为宽度的 1/3?

谢谢
更新:
尝试针对 .width 设置 .leading 似乎不是领先的选项:

还有其他相关问题,但它们没有解决我的情况(它们的错误代码与某种回收和/或客户端代码的错误转换调用有关).
我的情况更复杂.
我有一些代码,用户可以在其中提取照片库.
问题是,它在我拥有的7部手机上工作得很好,所有手机都运行API 19+.
但是我有运行API 17的Google Nexus 4.3.我得到的崩溃日志中没有我的代码,只有库代码.如果你可以建议我如何能够编写一个解决方案,我会全力以赴:
FATAL EXCEPTION: main
java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
at android.widget.GridView.onMeasure(GridView.java:1042)
at android.view.View.measure(View.java:15848)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:477)
at android.view.View.measure(View.java:15848)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:477)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:15848)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5008)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2189)
at android.view.View.measure(View.java:15848)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1905)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1104)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1284)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at …Run Code Online (Sandbox Code Playgroud) java android classcastexception android-runtime android-framelayout
在我之前提出的一个问题中我不清楚,所以我会更加明确.
有没有办法将静态类放在字典中,以便可以调用其函数?如果这是不可能的,那么不使用您可以建议的实例的最佳替代方案是什么?
以下是我想要使用它的方法:
static class MyStatic : IInterface
{
static void Do(){}
}
static class MyStatic2 : IInterface
{
static void Do(){}
}
class StaticMap
{
static Dictionary<Type,IInterface.class> dictionary = new Dictionary<Type,IInterface.class>
{
{Type.1, MyStatic}
{Type.2, MyStatic2}
};
}
// Client Code
class ClientCode
{
void Start()
{
StaticMap.dictionary[Type.1].Do();
}
}
Run Code Online (Sandbox Code Playgroud) 非常奇怪的问题,我有一个 Canvas 对象,我正在尝试将 overrideSorting 标志设置为 true。
public void SetSortingLevel(string sortinglayerName)
{
_canvas.overrideSorting = true;
_canvas.sortingLayerName = sortinglayerName;
}
Run Code Online (Sandbox Code Playgroud)
但是,通常这是有效的,但是如果我放置一个断点并查看代码,即使在将覆盖设置为 true 之后,它也是 false:
api 显示这只是一个 setter/getter。知道为什么会这样吗?
我以前用过这个代码,它正常工作。
注意:这是一个嵌套的画布,因此应该允许设置其排序层。
回答:正如下面的回答中所指出的,activeInHierarchy 检查结果是错误的。
我有一个UIScrollview里面有UIImageView.
如果我在添加到滚动视图之前向UIImageView添加手势,则不会触发触摸事件.
我想得到一个点击发生的UIImageView.
我已经看到了一些关于从UIScrollView获取触摸点然后根据位置计算UIImageView的答案 - 但这看起来非常混乱和矫枉过正.
有没有一种简单的方法可以从UIScrollView中的对象获取触摸事件?
我遇到了一段有趣的Java代码片段.我研究了newInstance()是什么,它意味着避免调用构造函数并创建对象的新实例.但是看一下示例代码我不明白一件事:为什么不需要构造函数?
public class SimpleContentFragment extends WebViewFragment {
protected static SimpleContentFragment newInstance(String file) {
SimpleContentFragment f=new SimpleContentFragment();
Bundle args=new Bundle();
args.putString(KEY_FILE, file);
f.setArguments(args);
return(f);
}
}
Run Code Online (Sandbox Code Playgroud)
否则此代码中的其他位置是否创建了构造函数.没有
public SimpleContentFragment() {
// Required empty public constructor
}
Run Code Online (Sandbox Code Playgroud)
正如我所料.
那么你能用newInstance澄清静态方法中发生了什么吗?new SimpleContentFragment()当构造函数从未写入时它怎么能调用?
当我在这个特定的Nexus 5上打开相机时,我遇到了手机特定的问题.它的An error occurred while connecting to camera: 0 --- Fail to connect to camera service错误.在至少十几个其他手机上一切正常.在Nexus 5上使用相机的其他应用程序不会崩溃(表明并非所有应用程序都无法访问相机,只是我的应用程序).
关于这一点还有其他一些问题,我尝试了所有这些问题.他们都谈论缺少权限,并确保相机在使用后被销毁.
要清楚我的清单请求并正确使用相机:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera2" />
Run Code Online (Sandbox Code Playgroud)
我在破坏时释放相机:
public void releaseCamera()
{
if (_camera != null)
{
_camera.stopPreview();
_camera.setPreviewCallback(null);
_camera.release();
_camera = null;
}
_surfaceHolder.removeCallback(this);
}
Run Code Online (Sandbox Code Playgroud)
你能想到我能得到这个的任何理由吗?我怀疑是某种bug,因为我使用相机而不是相机2,但这是一个疯狂的猜测.阅读API 6.0的更新后,相机上有一节说:
在此版本中,用于访问摄像头服务中的共享资源的模型已从先前的"先来先服务"访问模型更改为优先考虑高优先级进程的访问模型.
再次没有重写整个应用程序使用camera2(不是一个选项)我不能肯定地说是发生了什么.
这是我打开相机的代码(以及除Nexus 5之外的其他所有手机的功能)
private void setInitialCamera()
{
try
{
if (_isBackFacing == true)
{
_camera = Camera.open(0);
} else
{
_camera = Camera.open(1);
}
} catch …Run Code Online (Sandbox Code Playgroud) ios ×5
xcode ×5
swift ×4
android ×3
java ×3
c# ×2
ios8 ×2
camera ×1
cgcontextref ×1
cifilter ×1
dictionary ×1
instance ×1
object ×1
objective-c ×1
phasset ×1
static ×1
uiimage ×1
uiimageview ×1
uiscrollview ×1
uiview ×1
unity-ui ×1
xcode6 ×1