CAGradientLayer 不起作用[重复]

2024-01-29

我创建了一个新项目。在LinkedIn中QuartzCore.framework并进口<QuartzCore/QuartzCore.h> in the ViewController.m.

这是代码。

- (void)viewDidLoad {
    [super viewDidLoad];

    NSLog(@"view height %f", self.view.frame.size.height); // returns 667 on iPhone 6
    NSLog(@"view width %f", self.view.frame.size.width); // returns 375 on iPhone 6

    NSLog(@"layers count %lu", self.view.layer.sublayers.count); // returns 2

    // Gradient
    UIColor *colorOne = [UIColor blueColor];
    UIColor *colorTwo = [UIColor greenColor];
    NSArray *colorArray = @[colorOne, colorTwo];

    NSNumber *locationOne = [NSNumber numberWithFloat:0.0];
    NSNumber *locationTwo = [NSNumber numberWithFloat:1.0];
    NSArray *locationArray = @[locationOne, locationTwo];

    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = self.view.frame;
    gradientLayer.colors = colorArray;
    gradientLayer.locations = locationArray;

    [self.view.layer insertSublayer:gradientLayer atIndex:0];
    //[self.view.layer insertSublayer:gradientLayer above:[self.view.layer.sublayers firstObject]]; // didn't work either

    NSLog(@"layers count %lu", self.view.layer.sublayers.count); //returns 3
}

我尝试将视图的背景颜色设置为clearColor,将其称为viewDidAppear,但没有一个起作用。我真的不知道我错过了什么。感谢任何帮助。


你的颜色数组应该是NSArray *colorArray = @[(id)colorOne.CGColor, (id)colorTwo.CGColor];,因为colors数组需要CGColorRefs,而不是UIColors,够烦人的 - 看看CGGradientLayer 文档 https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CAGradientLayer_class/#//apple_ref/occ/instp/CAGradientLayer/startPoint

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAGradientLayer 不起作用[重复] 的相关文章

  • 如何对 iPad 应用程序进行类转储?

    我正在尝试运行 iPad 应用程序的类转储来探索其架构 我使用 The Unarchiver 提取了 ipa 文件 并从 Payload 文件夹中对 app 文件运行了 class dump 但是 我收到此错误 Generated by c
  • 当我启动项目时没有 viewcontroller.swift 文件 [重复]

    这个问题在这里已经有答案了 我尝试启动该项目并使用视图控制器 但我没有看到它 仅appdelegate和scenedelegate和contentview 下面的代码应该添加到视图控制器中 但我不知道添加到哪里 它不断给我一条错误消息 指出
  • 如何创建一个仅接收一次信号,然后自行取消订阅/释放的 ReactiveCocoa 订阅者?

    我目前正在注册一个属性信号的订阅者 如下所示 RACAble self test subscribeNext id x NSLog signal fired 默认功能是每次 self test 更改时都会触发 但我只想触发一次 然后取消订阅
  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • 同一应用程序的不同版本取决于设备(应用程序商店)

    我已经将我的游戏提交到App Store并更新了 现在最新版本是每个下载我游戏的人都应该得到的版本 对吗 现在的问题是 当我从 iPad mini 上的 App Store 下载游戏时 我得到的是正确的版本 但是当我从 iPad 2 下载游
  • 我以前没见过的 CGRect 语法

    我在一些示例代码中看到了下面的语法 但不确定我是否理解它 CGRect imageRect CGRect size baseImage size 这只是初始化的一种简写方式吗CGRect相当于 CGRect imageRect CGRect
  • ios 8 opengl es 1.1 已停产?

    我们即将在 iOS 应用商店上推出一款游戏 最近我们发现它无法在 iOS 8 上运行 游戏加载到黑屏 但其他一切似乎都可以运行 可以听到音乐 对触摸屏有反应 但显示屏上没有任何反应 我们的引擎相当旧并且使用 OpenGL ES 1 1 我现
  • iOS7及以上版本中如何在接收器和扬声器之间切换音频输出?

    我有一个音频播放器 可以选择在接近传感器通知 1 时将音频输出从扬声器切换到接收器 耳机 无论是否连接耳机 以下是我执行此操作的代码 void switchAudioOutput NSString output AVAudioSession
  • 在 UITableView 中设置滚动位置

    我有一个应用程序 其工作方式与 iPhone 的 联系人 应用程序的工作方式有些相似 当我们添加新的联系人时 用户将被定向到包含联系人信息的仅查看屏幕 如果我们从导航栏中选择 所有联系人 用户将导航到查看最近添加的联系人的所有联系人列表 我
  • 如何在 Monotouch 中对 UIImageView 进行运动模糊效果?

    在 MonoTouch 中进行实时运动模糊的方法是什么 当滚动惯性图片库时 我需要在 UIImageView 上应用运动模糊效果 以强度和方向作为参数 就像在 Photoshop 中一样 我在 CocoaTouch 或 CoreAnimat
  • 应用程序在第二次运行 nsnull 计数的循环时崩溃

    我有一个循环 第一次运行正常 但第二次循环时我得到 NSNull count unrecognized selector sent to instance 0x3a094a70 Terminating app due to uncaught
  • 移动 Safari 中的文件上传和 EXIF

    正如这些问题中所指出的 在某些情况下 iOS 上上传的照片的地理位置和其他 EXIF 元数据会被删除 在 safari 中 https apple stackexchange com questions 326789 gps exif fr
  • prepareForSegue 和代表

    我有一个有两个 segue 的应用程序 在其中一个 Segue 中 当前视图控制器成为委托 而另一个则不是 void prepareForSegue UIStoryboardSegue segue sender id sender if s
  • 使用prefersLargeTitles 和 UITableView 平滑滚动

    我在使用时遇到了滚动问题prefersLargeTitles并添加了UITableView 如果我设置prefersLargeTitles在导航控制器中 其根是UITableViewController一切都很好 导航大标题的滚动方式与我们
  • 如何更改 UISwitch 关闭状态的默认颜色?

    我想更改 UISwitch 中 onTintColor 的颜色以表示关闭状态 切换位于表格视图中 并且以编程方式进行切换 settingsSwitch setBackgroundColor UIColor whiteColor settin
  • 编写支持 iOS 3.1.3 和 iOS 4.x 的 iOS 应用程序时的陷阱

    我想编写一个可以在 iOS 3 1 3 到 iOS 4 1 上运行的应用程序 我知道如何设置部署目标和基础 SDK 阅读 Apple 文档后 它很大程度上依赖于检查类是否可用和 或实例是否响应特定选择器 现在我的问题是 如果 Apple 从
  • 如何保存 1 个 xcode 项目中的所有构建设置并在其他 xcode 项目上使用它们?

    我使用 xcode 4 5 和 cordova phonegap 来构建我的应用程序 我投入了大量时间来获取适合我的 Xcode 项目的构建设置 并且我想在我正在构建的多个应用程序上重用这些设置 我正在寻找是否有一种快速的方法来导出这些设置
  • 使用 JavaScript 从 URL 变量读取来加载不同的 CSS 样式表

    我试图在我的 WordPress 博客上使用两个不同的样式表 以便在通过 Web 访问页面时使用一个样式表 而在通过我们的 iOS 应用程序访问博客内容时使用另一个样式表 现在 我们将 app true 附加到来自 iOS 应用程序的 UR
  • 我可以在 NS_SWIFT_NAME 中使用保留关键字吗?

    我正在尝试使 Objective C 委托协议更漂亮以便在 Swift 中使用 但我在弄清楚如何使用时遇到了一些麻烦NS SWIFT NAME 是否可以使用NS SWIFT NAME指定 Swift 名称中与 Objective C 关键字
  • 跟踪所有 ObjC 方法调用?

    有时 当查看别人的大型 Objective C 程序时 很难知道从哪里开始 在这种情况下 我认为记录对每个非 Apple 方法的每次调用会很有帮助 有没有办法做到这一点 基本上 在某个中心位置进行一项更改 并记录调用的每个方法 最好仅限于非

随机推荐

  • Typescript:尝试添加两个变量,但得到两个变量的串联

    我的 Typescript 类中有三个变量 A number B number C number 在课程的另一部分中 我尝试添加两个变量 A 和 B this C this A this B A 20 and B 50 我在 html 模板
  • 使用 Mockito 和 Specs2 时出错

    我有以下规格 import org specs2 mock Mockito import org specs2 mutable Specification class LinkUserServiceSpec extends Specific
  • ANT 脚本处理 exec 的返回值

    这就是场景 我有
  • 查找 Visual Studio 2010 扩展的主目录

    我正在对 Visual Studio 向导进行更改 该向导从模板创建项目 并且需要将对程序集的引用添加到也位于扩展目录中的项目中 所以我需要设置
  • 正则表达式匹配文件中的特定函数及其参数

    我正在开发 gettext javascript 解析器 但我陷入了解析正则表达式 我需要捕获传递给特定方法调用的每个参数 n and 例如 如果我的 javascript 文件中有这些 foo want foo n bar baz 42
  • 在 MySQL 中生成一系列数字

    如何从 MySQL 查询生成一系列连续数字 每行一个 以便将它们插入到表中 例如 nr 1 2 3 4 5 我只想使用 MySQL 而不是 PHP 或其他语言 这是一种基于集合而无需循环的方法 这也可以制作成视图以供重复使用 该示例显示了从
  • 我可以忽略除以零产生的 SIGFPE 吗?

    我有一个程序故意执行除以零 并将结果存储在易失性变量中 以便在某些情况下停止 但是 我希望能够禁用此停止 而不更改执行除以零的宏 有什么办法可以忽略它吗 我尝试过使用 include
  • 在 Eclipse 插件中使用 JavaScript

    可以使用JavaScript在 Eclipse 插件的视图中 默认情况下 eclipse 在 JVM 中的 java 上运行 但 JVM 对动态脚本语言的支持越来越多 您可以随时使用org mozilla javascript http d
  • 如何将文本的背景图片设置到UIlabel中?

    我们可以在 UILabel 中为文本设置颜色 但是我们可以在 UILabel 中将图像设置为文本吗 你能帮助我吗 谢谢大家 UILabel lbl UILabel alloc initWithFrame CGRectMake 20 220
  • gradle 2.0.0 和 DataBinding 的问题

    最近我将Android studio从1 5 1更新到2 0 更新后它要求我使用最新的gradle 即com android tools build gradle 2 0 0 dependencies classpath com andro
  • Google 地图 MarkerClusterer 不起作用或隐藏所有标记

    取决于我把线放在哪里 var mc new markerclusterer map 如果它去到示例似乎暗示的地方 在引入 var map 之后 所有标记都会消失 示例运行here https c9 io lmmx molmachmap wo
  • 我们如何知道调用者函数的名称?

    在C语言中 FUNCTION 可以用来得到current函数的名称 但是如果我定义一个名为 a 的函数 并在 b 中调用它 如下所示 b a 现在 在源代码中 有很多像 b 这样的函数调用 a 例如c d e 是否可以在 a 中添加一些代码
  • 使用列名从 ResultSet 获取小写列

    我使用的是 Oracle 12cr1 数据库 看来我无法从中获得价值ResultSet如果列名是小写 则使用列名 创建表create table Tab col number col varchar2 10 所以第二列是小写的 如果我打电话
  • FILE_FLAG_DELETE_ON_CLOSE 和内存映射文件

    并不是说它特别有用 但我很好奇为什么下面的方法有效 仅仅是因为即使文件被删除后该页面仍然在内存中吗 在什么情况下 如果页面被换出 数据会丢失 include
  • 链接 gcc 6、gcc 7 和 gcc 8 对象安全吗?

    链接 C 17 C 14 和 C 11 对象是否安全 https stackoverflow com q 46746878 2069064询问有关链接使用不同语言标准编译的对象的问题 Jonathan Wakely 对这个问题的出色回答解释
  • 从批处理文件中发现Java安装在哪里?

    我想从批处理脚本设置 JAVA HOME 变量 此代码片段将在当前路径中搜索 java exe 并打印出找到它的位置 for f j in java exe do echo dp PATH j 在我的系统上这给了我 C WINDOWS sy
  • 错误 ASP 0177:8007007e COM DLL CreateObject 失败

    我们一直在尝试在新服务器上安装 COM DLL 界面是经典的 ASP 地图连接器 DLL 似乎是问题所在 但据我所知 这是问题所在 我们无法获取 IIS 提供的页面 只给出 500 错误 跟踪 ASP 时 127 ASP SCRIPT TR
  • 给 Jekyll 类别添加标题

    我想将我的帖子的打印类别名称转换为标题大小写 我找不到合适的液体过滤器 我尝试使用破折号和驼峰过滤器 但没有骰子 或者 我想打印 YAML frontmatter 中写入的类别名称 例如 对于包含以下内容的帖子 category Here
  • Android 中的计时器不会停止

    我在android中做了一个应用程序并使用了这样的计时器 try CountDownTimer start1 new CountDownTimer 20000 1000 public void onTick long millisUntil
  • CAGradientLayer 不起作用[重复]

    这个问题在这里已经有答案了 我创建了一个新项目 在LinkedIn中QuartzCore framework并进口