簡體   English   中英

如何使WKInterfacePicker中的圖像透明?

[英]How to make images in WKInterfacePicker Transparent?

我有一個WKInterfacePicker設置為序列模式。 當我在運行時向其添加圖像並將其顯示在Apple Watch上時,圖像似乎具有黑色背景(而不是透明像素)。 圖像中有透明像素。 這是我在willActivate函數中使用的代碼:

NSMutableArray *pItems = [[NSMutableArray alloc] initWithCapacity:31];

for(int i=0; i<30; ++i){
    WKPickerItem *item = [[WKPickerItem alloc] init];
    WKImage *img = nil;
    if(i < 10)
        img = [WKImage imageWithImageName:[NSString stringWithFormat:@"safeDial_0%d", i]];
    else
        img = [WKImage imageWithImageName:[NSString stringWithFormat:@"safeDial_%d", i]];

    [item setContentImage:img];
    [pItems addObject:item];
}

[self.pickerSafeLock setItems:[pItems copy]];
[self.pickerSafeLock setSelectedItemIndex:0];
[self.pickerSafeLock focus];

注意:pickerSafeLock是WKInterfacePicker

另外,當我在WKImage上使用相同的圖像時,我看到透明像素工作正常。

有沒有辦法使WKInterfacePicker中的圖像透明?

在嘗試了多種方法(包括@DaGaMs的解決方案)之后,我發現了一個相當棘手的問題解決方案。 我使用了WKInterfacePicker和關聯的WKInterfaceImage。 這是解決問題的一種方法:

在WatchKit應用程序的Storyboard中,在WKInterfaceGroup內添加WKinterfaceImage,WKInterfaceGroup和WKInterfacePicker。

外觀如下:

克服WKInterfacePicker的透明度

這只是為了將Picker隱藏在屏幕外,以便我們可以將動畫從Picker偽裝到WKInterfaceImage。

完成此操作后,在WKInterfacePicker的IBAction上設置相應的圖像,如下所示:

- (IBAction)pickerAction:(NSInteger)value {
    [self.yourWKInteraceImage setImage:imgPickerList[value]];
}

注意:imgPickerList包含要設置動畫的所有圖像(與Picker相同)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM