簡體   English   中英

Xcode 6中的大小類出現問題

[英]Trouble with size classes in Xcode 6

我在使用大小類遇到一個非常奇怪的問題:

  • 在任何x的大小類中,我都有一個UITableViewController ,其中包含一個約束寬度為150且約束高度為150的UIView

  • 在尺寸類Regular x Regular中,我“卸載”了這些約束,並添加了另一個約束寬度和高度,大小為250。

當我在iPad上啟動我的應用程序時,我可以看到此UIView的“正確”大小,但是在我的代碼中,在ViewDidLoadViewWillAppear ,此視圖的大小仍為“ 150”。 (我想獲得一些視圖的大小。)僅在ViewDidAppear函數中,我具有正確的大小,但我不明白為什么。

有任何想法嗎?

示例代碼:

- (void)viewDidLoad {
    [super viewDidLoad];

    [self loadImg];
    [self loadText];

    self.navigationItem.hidesBackButton = YES;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void) loadText {
    //
 }

- (void) loadImg {    
    self.myView.layer.cornerRadius = self.myView.frame.size.width / 2;
    self.myView.clipsToBounds = YES;
    UIView *svg = [Utils defineImg:self.myView :@"myImage" :50];
    [self.myView addSubview: svg];
    svg.center = CGPointMake(self.myView.frame.size.width / 2, self.myView.frame.size.height / 2);
}

viewDidLoadviewWillAppear不是尋找特定框架尺寸的正確位置。 自動布局完成后將設置幀。

您可以覆蓋viewDidLayoutSubviews並將其到達那里。

所以我認為您對尺寸等級有些困惑。 我有點困惑。

當您選擇將大小類查看為Re​​gularxRegular時,您只是在查看該模式下的樣子。 您在此處所做的任何更改都不會覆蓋anyxany模式。

而且您可能不應在視圖上限制寬度和高度。 嘗試使用與其他視圖相關的約束來使UIView看起來像在屏幕上一樣。

暫無
暫無

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

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