簡體   English   中英

加載視圖后,在UINavigationController中更改UITableView的框架

[英]changing a UITableView's frame in a UINavigationController after the view is loaded

我正在嘗試更改UIViewController內部的兩個UITableView的框架大小和位置,該UIViewController是UINavigationController的rootviewcontroller。

我希望幀大小根據用戶操作而改變。 我已完成所有設置,並根據用戶的操作執行以下代碼:

CGRect firstTableFrame = [myTableView frame];
firstTableFrame.size.height = 290;  
[self.myTableView setFrame:firstTableFrame];
NSLog(@"%f",self.myTableView.frame.size.height);
[self.myTableView reloadData];

我可以確認NSLog輸出290。但是,屏幕上沒有任何變化。 我在這里找到了一個答案,我認為可以解決.xib文件的問題(取消選中自動布局),但是當我運行.xib文件時,這會導致其他各種布局問題。

有辦法解決嗎?

這是因為導航控制器具有一個視圖,其中包含要添加到其中的視圖(您的表視圖)。 您必須適當調整該視圖的大小

通過轉到Viewcontroller的.xib文件並取消選中“文件檢查器”窗格中的“使用自動布局”,可以解決此問題。 如果未選中該選項,則約束將被刪除,並且我能夠以編程方式調整框架的大小和位置。

暫無
暫無

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

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