0

我有这个来源:

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: movl $0x2000148, %eax

0x10a6a327d: movq %rcx, %r10

0x10a6a3280:系统调用

0x10a6a3282: 杰 0x10a6a328c ; __pthread_kill + 20

0x10a6a3284: movq %rax, %rdi

0x10a6a3287:jmp 0x10a69eca3;cerror_nocancel

0x10a6a328c: retq

0x10a6a328d:无

0x10a6a328e:无

0x10a6a328f:无

Xcode 中的标记停在:

0x10a6a3282: 杰 0x10a6a328c ; __pthread_kill + 20

该应用程序一直在手表上运行,但此视图永远不可见。我的图像高度为 80 像素,宽度为 1 像素。

我确实在 iOS 上测试了这个源,它运行良好。所以我认为这一定与手表有关。

4

1 回答 1

0

是的,这是可能的,尽管这种方式似乎不可能。实际上,这更容易,只是您不会在 Storyboard 上看到任何结果,这会让您认为这是不行的。这是如何:

1.- 在 Watchkit 应用程序的资产上设置您的“重复图像”(在我的例子中:“80x1blueback”),(不是扩展)

2.- 将您的图像设置为按钮的背景(它将不可见)

3.- 将您的高度设置为“适合大小”选项之外的任何内容。

就是这样,编译并运行!

于 2015-01-20T21:13:50.787 回答