小编Eva*_*n R的帖子

如何在现有UIKit类(如UIColor)的扩展中添加初始值设定项?

Swift文档说可以在扩展中添加初始化程序,文档中的示例是关于向结构添加初始化程序.Xcode无法识别UIColor我的便捷初始化程序中的指定初始值设定项:

extension UIColor {
  convenience init(rawValue red: CGFloat, green g: CGFloat, blue b: CGFloat, alpha a: CGFloat) {

    // Can not find out the designated initializer here
    self.init()

  }
}
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

uicolor swift

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

在其子类中获取自定义UIView的帧大小的位置

当我使用storyboard添加自定义UIView时,是否计算了UIView的正确帧大小?我不能得到正确的帧大小的UIView的 init(frame: CGRect)init(coder aDecoder: NSCoder)awakeFromNib().我得到了正确的大小,override func layoutSubviews()但这次视图没有添加到视图控制器的视图中.

编辑:
我想在UIView子类中执行此操作,因为我在CAGradientLayer自定义中添加了一个图层(与我的视图具有相同的大小)UIView.必须有一种比在UIViewControllers viewDidLayoutSubviews方法中设置视图更好的方法.

有两个垂直约束(超视图的尾随和前导空间),用于调整自定义视图的宽度.但是在上述方法中宽度为600,而不是屏幕宽度.

frame uiview swift ios8

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

尝试使用简单的Google Maps示例来使用AngularJS

我正在尝试将一个简单的Google Maps项目(从他们网站上的示例完成)迁移到AngularJS项目.让我先说一下,我是AngularJS和web dev的新手,所以请善待:)我有一个简单的项目,请访问https://github.com/eroth/angular-web-app(下面的主要文件) )我从使用谷歌地图教程的初始提交到尝试将其转换为AngularJS应用程序,但未能使其工作,虽然我已经$scope.init()在我的MapController.js文件中验证了我的功能正在从我的map.html文件中调用.

我的问题有两个方面:我的代码出了什么问题,或者我需要这样的东西(看起来非常好):http://nlaplante.github.io/angular-google-maps/?我正在努力将其合并到我在另一个分支上的项目中,但我想弄清楚它是否是我现有代码的问题,或者我是否需要类似这个库的东西来使它与AngularJS一起工作.如果是后者,为什么?如果我正在制作一些非常简单的错误,请事先道歉; 就像我说的那样,我对这一切都很陌生,虽然我确实通过了一些AngularJS教程,看起来很棒.

这是我的map.html文件:

<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

    <!-- INCLUDE REQUIRED THIRD PARTY LIBRARY JAVASCRIPT AND CSS -->
    <script type="text/javascript" src="js/angular.min.js"></script>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/bootstrap-responsive.min.css">

    <!-- INCLUDE APPLICATION SPECIFIC CSS AND JAVASCRIPT -->
    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?sensor=true&language=en">
    </script>
    <script type="text/javascript" src="js/web-app/app.js"></script>
    <script type="text/javascript" src="js/web-app/controllers/mainController.js"></script>
    <link rel="stylesheet" href="css/main.css">
  </head>
  <body>
    <div class="container main-frame" ng-app="WebApp" ng-controller ="mainController" ng-init="init()">
      <div id="map-canvas"/>
    </div> …
Run Code Online (Sandbox Code Playgroud)

javascript html5 google-maps web-applications angularjs

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

在各种函数中使用push_back更新类对象的向量

我有一个类对象的向量,我通过读取数据文件在main中创建.然后我将向量传递给几个不同的文件,这些文件包含对向量执行不同操作的函数(按不同字段排序,减去库存等).当我尝试使用它push_back来创建另一个文件(这是同一个项目的一部分)中的向量时,我遇到了一个问题.预先存在的向量传递给函数,向量成功添加到函数内,但是当我退出函数时,添加的记录不再存在,据我所知,我应该访问更新的向后转向我不同文件中的所有不同功能,对吗?如果它与我在main中创建的名称相同,我不应该将更新后的矢量传回去,我应该吗?我确定我使用的语言和术语是错误的(请随意纠正我),但这几乎就好像向量没有全局更新,并且只是在函数内本地更新它的持续时间.

这是我正在使用的函数中的函数定义和代码,我想添加到向量中(为了简洁起见,我正在跳过所有变量参数赋值).我指向的所有函数都是类中的setter函数,在此之前,向量已经包含20个记录,并且设置与下面的函数类似.

void addBook(vector<BookData> books)
{
    BookData *books1;
    books1 = new BookData;
    books1->setTitle(bookTitle);
    books1->setAuthor(author);
    books1->setPub(publisher);
    books1->setIsbn(isbn);
    books1->setWholesale(wholesale);
    books1->setRetail(retail);
    books1->setQty(qtyOnHand);
    books1->setDateAdded(dateAdded);
    books.push_back(*books1);
}
Run Code Online (Sandbox Code Playgroud)

我不想用太多的代码来填充帖子,但如果它有用,我可以发帖更多.我只想在整个程序中访问添加(或我在另一个函数中删除).

c++ class vector push-back

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