2016-09-02 48 views
0

我有一個UIView,裏面保存着UILabel停止從子視圖上應用仿射變換

施加上使用UIView仿射變換後:

myView.transform = CGAffineTransformMakeScale(4, 4); 

UILabel(這是一個子視圖MyView的)生長爲好。

有沒有辦法來防止這種情況?

我嘗試:

1)使用CGAffineTransformIdentity標誌的標籤上。

2)添加至上海華MyView的並添加作爲MyView的上海華的子視圖,和標籤作爲一個子視圖的上海華(而不是MyView的)。

非他們似乎工作,標籤不斷增長。

任何想法?

回答

1

你用選項2回答了你自己的問題。不知道爲什麼它不工作,因爲你沒有提供任何代碼。下面的遊樂場代碼顯示它會起作用。取消註釋掉最後一行來轉換子視圖,但不轉換標籤。

import UIKit 
import XCPlayground 

let superview = UIView(frame: CGRect(x: 10, y: 10, width: 200, height: 200)) 
XCPlaygroundPage.currentPage.liveView = superview 
superview.backgroundColor = UIColor.redColor() 

let view = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100)) 
view.backgroundColor = UIColor.greenColor() 
superview.addSubview(view) 

let label = UILabel(frame: CGRect(x: 20, y: 10, width: 40, height: 40)) 
label.text = "Hello" 
superview.addSubview(label) 

//view.transform = CGAffineTransformMakeScale(2, 2) 
+0

事實上,這沒關係。謝謝你和我:) – Itzik984