当我在UILabel中显示时,我加载到我的应用程序中的一些自定义字体会被切断.我有多个自定义字体,我需要正确显示.我怎样才能解决这个问题?
我以前做过这个,但似乎没有任何效果.这是我的代码:
保存在iOS应用程序中
let groupDefaults = NSUserDefaults(suiteName: "group.company.appSharedDefaults")
groupDefaults?.setObject(theArray, forKey: "theKey")
groupDefaults?.synchronize()
Run Code Online (Sandbox Code Playgroud)
阅读(适用于iOS但不适用于WatchOS 2)
let groupDefaults = NSUserDefaults(suiteName: "group.company.appSharedDefaults")
if groupDefaults!.objectForKey("theKey") != nil {
textEmojiArray = NSMutableArray(array: groupDefaults!.objectForKey("theKey") as! NSArray)
} else {
//error
}
Run Code Online (Sandbox Code Playgroud)
这两个.entitlements文件包含group.company.appSharedDefaults
已打开应用程序组功能,并在两个目标上检查了相应的组.
现在,当我在监视对象上运行读取代码时,objectForKey返回nil,但它在iOS上有效(设备和模拟器结果相同).
我错过了什么!?
我会感到愚蠢,但我到处寻找并没有找到答案.我已经能够使用默认相机的控件拉出"编辑"视图.然而,我在它上面添加了一个叠加层,我有一个UIButton连接到IBAction拍照,看起来像[UIImagePickerController takePicture].
但是,即使我设置允许编辑为YES,它也完全跳过编辑部分.是否有另一个命令来调用它?现在,它只是直接到didFinishPickingMediaWithInfo.
camera.sourceType = UIImagePickerControllerSourceTypeCamera;
camera.cameraDevice = UIImagePickerControllerCameraDeviceRear;
camera.showsCameraControls = NO;
camera.navigationBarHidden = YES;
camera.toolbarHidden = YES;
camera.wantsFullScreenLayout = NO;
camera.allowsEditing = YES;
camera.cameraOverlayView = overlay;
[self presentViewController:camera animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
然后在IBAction
[camera takePicture];
Run Code Online (Sandbox Code Playgroud) 标题总结了它.我已经尝试断开/重新连接所有IBOutlets.这是我在InterfaceController上设置WKInterfaceTable的代码:
func setupLoadingTable () {
self.myTable.setNumberOfRows(1, withRowType:"universalRowID")
for (var i = 0; i<self.myTable.numberOfRows; i++){
var row = self.myTable.rowControllerAtIndex(i) as! UniversalRowView
row.mainTitle.setText("Hello world") //THIS THROWS AN ERROR
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的UniversalRowView的代码,它是我的自定义行类:
import WatchKit
class UniversalRowView: NSObject {
@IBOutlet weak var mainTitle: WKInterfaceLabel!
@IBOutlet weak var subTitle: WKInterfaceLabel!
}
Run Code Online (Sandbox Code Playgroud)
表的IBOutlets已正确连接.Storyboard上的行设置为UniversalRowView类型,并且两个标签的出口都已正确连接.
这条线:
row.mainTitle.setText("Hello world")
Run Code Online (Sandbox Code Playgroud)
抛出以下错误:"致命错误:在解包可选值时意外发现nil"
此外,当我评论该代码时,我没有在模拟器上看到它们出现在故事板上的股票WKInterfaceLabels.我觉得这也是一个错误,但我不知道该怎么做.
编辑:在willActivate()中调用setupLoadingTable()
我正在尝试让图像显示为 Apple Watch 上的复杂功能。我试过 .jpg 和 .png 文件。我相信使复杂功能工作的代码是正确的,但由于某种原因,图像显示为白色,如下所示:
我的代码如下:
var template: CLKComplicationTemplate? = nil
let temporaryTemplate = CLKComplicationTemplateModularSmallSimpleImage()
let theImage = UIImage(named: "testImage")!.imageWithRenderingMode(.AlwaysTemplate)
let imager = CLKImageProvider(onePieceImage: theImage)
temporaryTemplate.imageProvider = imager
template = temporaryTemplate
Run Code Online (Sandbox Code Playgroud)
我知道这些图像被视为“仅限 alpha”的并发症,但我认为这是由系统自动完成的。我在这里错过了一步吗?