可以设置图像背景在Apple Watch中重复吗?
Posted
技术标签:
【中文标题】可以设置图像背景在Apple Watch中重复吗?【英文标题】:It is possible to set an image background to repeat in apple watch? 【发布时间】:2015-01-20 19:33:42 【问题描述】:我有这个来源:
import Foundation
import WatchKit
class MyController: WKInterfaceController
@IBOutlet weak var button: WKInterfaceButton!
override func awakeWithContext(context: AnyObject?)
super.awakeWithContext(context)
let gradientBlue = UIImage(named: "80x1blueback")
let colorBlue = UIColor(patternImage: gradientBlue!)
self.button.setColor(colorBlue)
每个变量都取值并调用:
self.button.setColor(colorBlue)
成功。但是,在那之后它崩溃了。
libsystem_kernel.dylib`__pthread_kill: 0x10a6a3278: 移动 $0x2000148, %eax
0x10a6a327d: movq %rcx, %r10
0x10a6a3280:系统调用
0x10a6a3282: jae 0x10a6a328c ; __pthread_kill + 20
0x10a6a3284: movq %rax, %rdi
0x10a6a3287: jmp 0x10a69eca3 ; cerror_nocancel
0x10a6a328c: retq
0x10a6a328d: 无
0x10a6a328e: 无
0x10a6a328f: 无
来自 Xcode 的标记停止于:
0x10a6a3282: jae 0x10a6a328c ; __pthread_kill + 20
应用程序在手表上继续运行,但此视图永远不可见。 我的图像高度为 80 像素,宽度为 1 像素。
我确实在 ios 上测试了这个源,它运行良好。所以我认为这一定与手表有关。
【问题讨论】:
当我调用 self.button.setColor(UIColor.brownColor()) 它就像魅力一样。问题似乎在于动态创建的颜色。 【参考方案1】:是的,这是可能的,尽管这种方式似乎不可能。实际上,这更容易,只是您不会在 Storyboard 上看到任何结果,这会让您认为这是不行的。 方法如下:
1.- 在 Watchkit 应用的资产(不是扩展)上设置您的“重复图像”(在我的例子中:“80x1blueback”)
2.- 将您的图像设置为按钮的背景(它将不可见)
3.- 将您的高度设置为“适合尺寸”选项之外的任何值。
就是这样,编译运行!
【讨论】:
以上是关于可以设置图像背景在Apple Watch中重复吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 Apple Watch Storyboard 中的图像顶部添加标签
iOS:将图像保存在 App Group 中以在 Apple Watch 上使用