我一直在使用autolayout幾個星期了。 目前,我正在使用名爲FLKAutoLayout的第三方庫,這使得該過程變得更加簡單。 我現在可以按照我想要的方式構建視圖,通常沒有問題。 但是,在過去的四天裏,一旦涉及視圖控制器,我一直在努力解決自動佈局問題。 我很好,各種各樣的UIViews ...但由於某種原因,每個viewcontroller.view是一個完整的惡魔。 我什麼也得不到,但得到一個viewcontroller.view的大小,我想要的方式和一個更深層次的問題是兒童viewcontrollers的UIViews使用autolayout時沒有正確接收事件的問題。 手動指定幀時,子視圖控制器可以很好地工作,但所有內容都會通過自動佈局進行分解。iOS:Autolayout與子視圖控制器
我不明白viewcontroller的UIView有什麼不同,使它不同於所有其他人......我的思想在挫敗中融化。 ios是否在幕後或我的視圖控制器視圖中混淆了?
sample image http://i39.tinypic.com/6qeh3r.png
在圖像中,紅色區域屬於子視圖控制器。這個區域不應該超過最底層的子視圖(表示三個的卡片)。這應該很容易,我可以得到它與一堆正常的UIViews工作得很好,但因爲這是一個viewcontroller,一切都打破...
任何人都可以闡明什麼是我不知道。潛在問題的任何線索都非常感謝。
感謝您的閱讀。
更新:該問題可能與曖昧的限制
UIView *box = [[UIView alloc]init];
[box addSubview:imageView];
[box addSubview:nameLabel];
imageView constrainWidth:@"32" height:@"32"];
[imageView alignTop:@">=0" leading:@"0" bottom:@"<=0" trailing:@"<=0" toView:box];
[imageView alignCenterYWithView:box predicate:@"0"];
[nameLabel constrainLeadingSpaceToView:imageView predicate:@"5"];
[nameLabel alignTop:@">=0" leading:@">=0" bottom:@"<=0" trailing:@"<=0" toView:box];
[nameLabel alignCenterYWithView:box predicate:@"0"];
[self addSubview:box];
[box alignTop:@"5" leading:@"5" bottom:@"-5" trailing:@"-5" toView:self];
上面的例子是一個模糊的佈局,但我想不出有什麼地方錯了...
您應該在添加子視圖控制器的位置顯示代碼,以及您嘗試添加的約束條件。 – rdelmar
這是否在滾動視圖中? – Maarten
目前沒有滾動視圖。但是,在過去,當我嘗試在自動佈局中使用滾動視圖時,所有視圖都變得非常緊湊。但是,這是未來的另一個問題。 – Sethypie