小编Bad*_*Cat的帖子

Swift:自定义ViewController初始化程序

如何UIViewController在Swift中为子类添加自定义初始值设定项?

我创建了一个UIViewController看起来像这样的子类:

class MyViewController : UIViewController
{
    init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
    {
        self.leftVC = leftVC;
        self.rightVC = rightVC;
        self.gap = gap;

        super.init();

        setupScrollView();
        setupViewControllers();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个致命的错误:

致命错误:对类'MyApp.MyViewController'使用未实现的初始化程序'init(nibName:bundle :)'

我已经读过,在添加自定义初始化程序时,还必须覆盖,init(coder aDecoder:NSCoder)所以让我们覆盖它init,看看会发生什么:

override init(coder aDecoder: NSCoder)
{
    super.init(coder: aDecoder);
}
Run Code Online (Sandbox Code Playgroud)

如果我添加这个,Xcode会抱怨self.leftVC is not initialized at super.init call.所以我想这也不是解决方案.所以我想知道如何将自定义初始化器正确地添加到ViewControllerSwift中的子类中(因为在Objective-C中这看起来不是问题)?

initialization objective-c uiviewcontroller ios swift

78
推荐指数
4
解决办法
5万
查看次数

UIView有阴影,圆角和自定义drawRect

我必须创建一个UIView具有圆角,边框,阴影的自定义,并drawRect()重写其方法以提供自定义绘图代码,在该代码中将几条直线绘制到视图中(我需要使用快速,轻量级的方法,因为许多可以呈现这些视图).

我目前面临的问题是,一旦我drawRect()在视图类中重写(即使其中没​​有任何自定义代码),阴影也不再适用于圆角.请参阅附图中的差异:

在此输入图像描述

在视图控制器中我使用以下代码:

    view.layer.cornerRadius = 10;
    view.layer.masksToBounds = true;

    view.layer.borderColor = UIColor.grayColor().CGColor;
    view.layer.borderWidth = 0.5;

    view.layer.contentsScale = UIScreen.mainScreen().scale;
    view.layer.shadowColor = UIColor.blackColor().CGColor;
    view.layer.shadowOffset = CGSizeZero;
    view.layer.shadowRadius = 5.0;
    view.layer.shadowOpacity = 0.5;
    view.layer.masksToBounds = false;
    view.clipsToBounds = false;
Run Code Online (Sandbox Code Playgroud)

在被覆盖的drawContext()我会使用类似的东西:

    var context:CGContext = UIGraphicsGetCurrentContext();
    CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor);
    // Draw them with a 2.0 stroke width so they are a bit more visible.
    CGContextSetLineWidth(context, 2.0);
    CGContextMoveToPoint(context, 0.0, 0.0); //start at this point
    CGContextAddLineToPoint(context, 20.0, 20.0); //draw to …
Run Code Online (Sandbox Code Playgroud)

objective-c uiview drawrect ios swift

50
推荐指数
5
解决办法
9万
查看次数

Xcode 6.1:文件是为x86_64构建的,而不是被链接的架构(i386)

我为util/extensions创建了一个Swift框架项目,它将.framework文件编译并复制到我系统上的专用位置.我希望能够将此文件包含在其他项目中(使用库构建阶段/链接二进制文件).框架项目是一个Cocoa Touch Framework类型项目(从Xcode 6.1项目模板浏览器中选择).

但是当我尝试编译一个链接框架文件的项目时,我收到了这个警告:

ld:警告:忽略文件/Users/name/Projects/Xcode/Libs/swiftutils.framework/swiftutils,文件是为x86_64构建的,它不是被链接的体系结构(i386):/ Users/name/Projects/Xcode/Libs/swiftutils.framework/swiftutils

我可以对框架项目做些什么,以便它对其他iOS项目有效吗?这令人困惑,因为框架项目是一个Cocoa Touch Framework项目,它应该自然地与其他Cocoa Touch(即IOS)项目一起工作,不应该吗?

xcode cocoa frameworks compilation swift

39
推荐指数
3
解决办法
3万
查看次数

MXMLC和64位JRE

是否有任何变通方法可以使Flex编译器与64位JRE一起使用?如果我在Eclipse中的Ant构建文件中使用MXMLC任务它可以正常工作但是如果我尝试从命令行使用MXMLC(或者从Eclipse中的FDT尝试Run ...命令)它会失败,告诉我......

"加载时出错:C:\ Program Files\Java\jrrt-1.6.0\jre\bin\jrockit\jvm.dll"

(这是一个64位的JRockit运行时,但这无关紧要).

java flash 64-bit mxmlc

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

Ionic/Cordova:如何将Cordova插件集成到现有的Ionic项目中?

我有一个Ionic项目,我需要Cordova Camera插件(我现在已成功安装).但在我的项目中,Camera API仍然不可用,即我收到错误:

ReferenceError: Camera is not defined
at Scope.$scope.takePic 
Run Code Online (Sandbox Code Playgroud)

如何激活在Ionic项目中使用的插件API?关于此的文档似乎是相当不存在或非常隐藏的.

plugins camera cordova ionic-framework

14
推荐指数
2
解决办法
5万
查看次数

带有Xcode 8的Jenkins - 找不到配置文件

Jenkins找不到我们最近更新的配置文件,在尝试了每个已知的解决方案后,我的想法已经用完了可能出错的地方.

构建作业失败并出现错误:

找不到匹配'xxxxx'的个人资料:Xcode找不到符合'xxxxx'的个人资料.

构建服务器是Mac,运行Xcode 8,我们正在使用Jenkins和Xcode插件.

在同一台机器上直接构建和签署Xcode 8是成功的,我通过双击安装了所有必需的配置文件.

有谁知道解决这个问题的任何可行的解决方案?

xcode code-signing ios jenkins

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

你如何成功地将Egit与GitHub一起使用?

似乎没有任何指南仍然有效,所以我问如何在Eclipse中使用Egit将项目推送到GitHub.我遵循了一些指南,但结果是"规范与源存储库中的任何现有引用都不匹配".推送对话框中的错误.

我正在使用Eclipse 3.6.1和Egit 0.9.1.应该可以使用Egit不应该吗?但到目前为止,我的所有尝试都失败了,所以我开始怀疑Egit是不是只是一个大笑话或实验或其他什么?无论哪种方式,如果有人能够提供一个简短的逐步指导,以成功推动项目与Egit将是伟大的.

eclipse push github egit

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

UITapGestureRecognizer无法识别的选择器发送到实例

我已经搜索了这个问题的解决方案,但在我的情况下找不到任何似乎可以解决它的问题.我从UITapGestureRecognizer获得了上述异常.

这是简化的代码:

import UIKit;

class ViewController : UIViewController, UIScrollViewDelegate
{
    @IBOutlet weak var scrollView:UIScrollView!;
    var imageView:UIImageView!;

    override func viewDidLoad()
    {
        super.viewDidLoad();

        ... set up imageView/scrollView here ...

        let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "onScrollViewDoubleTapped");
        doubleTapRecognizer.numberOfTapsRequired = 2;
        doubleTapRecognizer.numberOfTouchesRequired = 1;
        scrollView.addGestureRecognizer(doubleTapRecognizer);
    }


    func onScrollViewDoubleTapped(recognizer:UITapGestureRecognizer)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉这段代码有什么问题吗?对我来说似乎都是正确的.我怀疑它与将ViewController指定为scrollView的委托(或反之亦然)有关?但是,ViewController被设置为scrollView的委托.但也许是其他导致这个错误的东西?

selector ios uitapgesturerecognizer swift

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

具有预设行的静态NSTableView

是否可以NSTableView在Interface Builder中创建具有预设行数的表,以便表可以用作表单?

我有一个视图,需要各种标签和文本字段的形式.我尝试过使用单个标签和文本字段,但看起来很糟糕.与NSForm附加内容相同,对布局和单元格内容施加了一些限制.

因此,表格视图看起来非常精致,因为表单视图.我最喜欢做的是将7 TextTableViewCells拖入NSTableViewIB中的静态并在第一列中设置标签并在第二列行中动态设置值.

但如果我建造它,我的七行就消失了.如何让NSTableView静态行为?

macos cocoa interface-builder nstableview

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

Swift:无效参数不满足:约束

我收到错误:

无效参数不满足:[约束isKindOfClass:[NSLayoutConstraint class]]

对于我用Swift编写的自动布局约束代码:

    let d:NSDictionary = ["scrollView": scrollView]
    let hc:NSArray = [NSLayoutConstraint.constraintsWithVisualFormat("H:|[scrollView]|", options: NSLayoutFormatOptions.allZeros, metrics: nil, views: d)]
    let vc:NSArray = [NSLayoutConstraint.constraintsWithVisualFormat("V:|[scrollView]|", options: NSLayoutFormatOptions.allZeros, metrics: nil, views: d)]
    view.addConstraints(hc)
    view.addConstraints(vc)
Run Code Online (Sandbox Code Playgroud)

有谁知道这个错误试图告诉我什么?据我所知,参数是NSArray带有NSLayoutConstraint对象的类型.我怀疑我必须明确定义数组,NSArray但这并没有解决它.

xcode objective-c ios nslayoutconstraint swift

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