簡體   English   中英

如何將兩個視圖合並為一個視圖iOS Objective-c(如圖所示)?

[英]how to merge two views into one single view iOS objective-c (as shown in the image)?

我要制作一個如下圖所示的播放按鈕。

在此處輸入圖片說明

我設法做了類似的事情。

在此處輸入圖片說明

問題:

在第一個圖像中,播放標簽的圓形播放按鈕和矩形背景是單個圖像或視圖。我設法使用兩個視圖制作了一個相似的圖像,如下所示。使用視圖圖層的角半徑屬性。 問題是,當我們將alpha值應用於兩個視圖時,一個視圖似乎與另一個視圖重疊,而該區域似乎是暗的。因此,它們都似乎是兩個不同的視圖。

我該如何解決這個問題?

您必須將兩個圖像合並為一個。 假設您已經創建了兩個圖像(假設在項目中的某處為.png -s),我將嘗試按照以下方式進行操作:

// "Load" original images
let image1 = UIImage(named: "img1.png")
let image2 = UIImage(named: "img2.png")

// Crate size for the resulting image and create context
let size: CGSize = CGSizeMake(100, 100);
UIGraphicsBeginImageContext(size);

// Bottom image - draw in context
image1?.drawInRect(CGRectMake(0,0,size.width,size.height))

// Top image - draw in context
image2?.drawInRect(CGRectMake(0,0,size.width,size.height))

// Create new image with context
let newImage = UIGraphicsGetImageFromCurrentImageContext()

// End context
UIGraphicsEndImageContext()

之后,調整所得圖像的Alpha值。 如果原始圖像的alpha值已經小於1,則可能不起作用,但值得檢查。

因此,您將不得不重新排列代碼,因為我並不是真的認為視圖(或CLLayers)支持iOS中的混合模式。

暫無
暫無

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

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