小编Agg*_*sor的帖子

如何从CGFloat数组创建CIVector?

我试图在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吗?

xcode unsafe-pointers ios cifilter swift

2
推荐指数
1
解决办法
1677
查看次数

在Swift中获取点的颜色

我找到了一个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)

xcode object ios cgcontextref swift

2
推荐指数
1
解决办法
2920
查看次数

获取iOS 8 UIImage方向属性

我正在加载用户照片卷的照片.

    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检查所请求资产的方向吗?

当我从照片卷中选择时,图片会直立显示,但是当我将完整图像加载到另一个视图中时,它会旋转(并且我的代码不会应用任何旋转).

uiimage swift ios8 phasset

2
推荐指数
1
解决办法
7545
查看次数

消除可选链

这是不允许的(坏表达)

if !(let nsDictionaryObject = swiftObject as? NSDictionary)
{
    "Error could not make NSDictionary in \(self)"
    return
}
Run Code Online (Sandbox Code Playgroud)

是否可以在1行中检查可选链表达式的否定值?

ios swift optional-chaining

2
推荐指数
1
解决办法
383
查看次数

在Xcode 6+中设置矢量图像的颜色

我看到其中一个Apple视频提到您可以通过代码为图像着色.关于如何执行此操作的所有搜索都显示为空白.

如果我在Images.xcassets中保存了黑色矢量图像(pdf),我该如何在运行时为该图像着色?

理想情况下它会像[UIImage setVectorColor:UIColorBlue]那样简单,但我相信它还有更多功能!

xcode vector-graphics interface-builder xcode6 ios8

1
推荐指数
1
解决办法
2815
查看次数

如何让前导空间为SuperView宽度的1/3

我正在尝试将图标设置为沿超级视图宽度的 1/3。

但是,当我设置宽度时,它只给我硬值作为选项。

是否可以通过界面构建​​器将对象的 x 位置设置为宽度的 1/3?

在此处输入图片说明

谢谢

更新:

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

在此处输入图片说明

xcode interface-builder uiviewcontroller uiview ios

1
推荐指数
1
解决办法
550
查看次数

android.widget.FrameLayout $ LayoutParams无法强制转换为android.widget.AbsListView $ LayoutParams

还有其他相关问题,但它们没有解决我的情况(它们的错误代码与某种回收和/或客户端代码的错误转换调用有关).

我的情况更复杂.

我有一些代码,用户可以在其中提取照片库.

问题是,它在我拥有的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

1
推荐指数
1
解决办法
7969
查看次数

C#将静态类放入字典中

在我之前提出的一个问题中我不清楚,所以我会更加明确.

有没有办法将静态类放在字典中,以便可以调用其函数?如果这是不可能的,那么不使用您可以建议的实例的最佳替代方案是什么?

以下是我想要使用它的方法:

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)

c# static dictionary

1
推荐指数
1
解决办法
137
查看次数

无法更改 Canvas.overrideSorting 属性

非常奇怪的问题,我有一个 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 检查结果是错误的。

c# unity-game-engine unity-ui

1
推荐指数
1
解决办法
3138
查看次数

在UIScrollView的内容上检测触摸事件

我有一个UIScrollview里面有UIImageView.

如果我在添加到滚动视图之前向UIImageView添加手势,则不会触发触摸事件.

我想得到一个点击发生的UIImageView.

我已经看到了一些关于从UIScrollView获取触摸点然后根据位置计算UIImageView的答案 - 但这看起来非常混乱和矫枉过正.

有没有一种简单的方法可以从UIScrollView中的对象获取触摸事件?

xcode objective-c uiscrollview uiimageview ios

0
推荐指数
1
解决办法
2446
查看次数

如果没有构造函数,newInstance()如何工作?

我遇到了一段有趣的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()当构造函数从未写入时它怎么能调用?

java android instantiation instance android-fragments

0
推荐指数
1
解决办法
102
查看次数

连接到摄像机时出错:0 ---无法连接到摄像机服务

当我在这个特定的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)

java camera android

0
推荐指数
1
解决办法
5952
查看次数