[英]Cannot change the frame properties of a UIView
我有一個UIView
@IBOutlet weak var myView: UIView!
我使用NSArchiver復制它
var topview = NSKeyedUnarchiver.unarchiveObjectWithData(NSKeyedArchiver.archivedDataWithRootObject(self.myView));
我嘗試使用CGRectMake進行更改
topview?.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height * 1.5)
響應上面的“ =”行,我收到了錯誤
Cannot assign to result of this expression
我嘗試了多種方法來更改topview的幀屬性,盡管每次嘗試最終都會遇到此錯誤。 任何幫助將不勝感激。
unarchiveObjectWithData
返回一個可選的AnyObject,而AnyObject本身不具有frame屬性。 所以你需要將topView轉換為UIView
var topview = NSKeyedUnarchiver.unarchiveObjectWithData(NSKeyedArchiver.archivedDataWithRootObject(self.myView)) as? UIView
據我了解:
因為topview
是可選的,所以frame也是可選的。 這意味着該幀可能為零。 因此,您需要將CGRect
分配給nil
。 這是不可能的。
這應該工作:
if let view = topview as? UIView {
view.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height * 1.5)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.