簡體   English   中英

更改UIView框架

[英]Change a UIView Frame

我在storyboard UIView中設置了一個UIView並將其作為插座。

 @property (nonatomic, weak) IBOutlet UIView *testView;

- (void)viewDidLoad方法中,我想像這樣更改其框架

CGRect frame = self.testView.frame;
frame.size.height = 2;
self.testView.frame = frame;

但這行不通。 誰能告訴我為什么?

您可能在項目中啟用了自動布局 ,如果這樣的話, setFrame完全無法使用。 在這里查看更多信息

解決方案:

  • 如果不需要,請禁用自動版式
  • 使用autolayout檢查以上鏈接。

看一下屬性左側的小圓圈。 它是填充的還是空心的? 如果它是空心的,則意味着您尚未將情節提要的此特定元素連接到文件的所有者。

如果填充了圓圈,則插座將連接到情節提要上的某物。 只要確保它已連接到正確的實體,即要在其中聲明testView的UIViewController(或其子類)即可。

假設其已連接到您的XIB,請在更改視圖后執行以下操作-

[self.view setNeedsDisplay];

嘗試將高度更改為高數字,看看是否有區別。 我已經創建了用於更改和還原高度的演示項目。 希望這可以幫助。

https://github.com/rshankras/StackOverflowUIView

暫無
暫無

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

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